GetExtensionPart und kein tokenzähler?

Anfängerfragen zum Programmieren mit PureBasic.
ToolBoy
Beiträge: 42
Registriert: 01.01.2010 16:19
Computerausstattung: Win 98ME, XP Home und Pro, Win2000 und WinVista32 Home Pre.
Wohnort: Duisburg

GetExtensionPart und kein tokenzähler?

Beitrag von ToolBoy »

Hallo,

laut Demo4.40 Help ist der Befehl GetExtensionPart identisch mit GetFilePart,
dass Ergebnis ist in beiden fällen gleich.

Ich brauche aber einen token Zähler der mir den Teilpfad ausgibt.

Beispiel:
[DATEIPFAD] = [current] ; ist in PB z.B. PFAD$ = GetCurrentDirectory() Ergebniss = C:\WINDOWS\Desktop\TEST\PUREBASIC\

In RB Ergebnis: [DATEIPFAD] = ‘C:\WINDOWS\Desktop\TEST\PUREBASIC\’


Ich brauche nun das dritte token (TEST) im Pfad.


In RB funst das so: gettok [tok] = [DATEIPFAD] , ‘3’ ; ERGEBNIS in [tok] = ‘ TEST’


Wo finde ich es in der Help, falls ich es übersehen habe?

L.G. ToolBoy
Windows 7 U. Windows 10 pro.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: GetExtensionPart und kein tokenzähler?

Beitrag von ts-soft »

Code: Alles auswählen

Debug StringField("C:\WINDOWS\Desktop\TEST\PUREBASIC", 4, "\")
Und sei vorsichtig mit GetCurrentDirectory, wenn Du das nicht selbst gesetzt hast, nutze es auch
nicht. Es wird nicht immer automatisch gesetzt!

Code: Alles auswählen

Debug GetPathPart(ProgramFilename())
Ist der Pfad zu Deiner Exe.

Gruß
Thomas
ToolBoy
Beiträge: 42
Registriert: 01.01.2010 16:19
Computerausstattung: Win 98ME, XP Home und Pro, Win2000 und WinVista32 Home Pre.
Wohnort: Duisburg

Re: GetExtensionPart und kein tokenzähler?

Beitrag von ToolBoy »

Hallo,

genau das, was ich gesucht habe.

Code: Alles auswählen

PFAD$ = GetCurrentDirectory() 
MessageRequester("PFAD = ", PFAD$)

NPFAD$ = StringField(PFAD$, 4, "\")
MessageRequester("PFAD = ", NPFAD$)
Funst bei mir. Was wäre sicherer als GetCurrentDirectory

Mit [Pfad]= [current] habe ich unter Windows ME,XP,Vista32 noch keine Probleme gehabt


Finde ich in der Demo Help ähnlichen Befehl für
REPLACEVAR Ergebnisstring = Stringausdruck, Suchstring, Ersetzstring

Beispiel:
findfiles [files] = 'Pure.rb', '1'
replacevar [files] = [files], '|', [new_line]
echo 'Inhalt von ' # [current] # [new_line] # [new_line] # [files]

oder: replacevar [files] = [files], '/' , '\'
oder: replacevar [files] = [files], '.' , ' '

Wo kann ich PB 4.40 kaufen?
Bei Email Anfragen im Netz auf diversen Kaufanzeigen für PB 4.40 für 79 Euronen kommen keine Rückantworten.

L.G. ToolBoy
Windows 7 U. Windows 10 pro.
Crawler
Beiträge: 110
Registriert: 08.02.2009 19:52
Computerausstattung: PB 4.41
Win7 64bit

Re: GetExtensionPart und kein tokenzähler?

Beitrag von Crawler »

Um Teile von Strings innerhalb von Zeichenfolgen zu ersetzen gibt es in PureBasic den Befehl ReplaceString().

Schön, dass du dich zum Kauf von PB entschieden hast, ich habe es damals direkt über diesen Link geordert:
www.purebasic.com
PB 4.41 | Win7 64bit
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: GetExtensionPart und kein tokenzähler?

Beitrag von ts-soft »

Mit:

Code: Alles auswählen

SetCurrentDirectory(GetPathPart(ProgramFilename()))
erstmal das CurrentDirectory setzen
(am besten am Programmanfang) , dann kannste anschließend GetCurrentDirectory() sicher verwenden!

PB kaufen auf http://www.purebasic.com oder http://www.purearea.net/pb/german/order.htm
bei Andrè per E-Mail bestellen.

Gruß
Thomas
ToolBoy
Beiträge: 42
Registriert: 01.01.2010 16:19
Computerausstattung: Win 98ME, XP Home und Pro, Win2000 und WinVista32 Home Pre.
Wohnort: Duisburg

Re: GetExtensionPart und kein tokenzähler?

Beitrag von ToolBoy »

Hi,

ich hatte eine Mailanfrage an Andre XXXX von dieser Seite gestellt wegen der Versionen a. 69 und b. 79 Euro. Bekomme aber keine Antwort. Ich warte mal die kommende Woche ab, wegen Urlaub und so. ReplaceString() hatte ich schon gefunden, danke aber trotzdem.

L.G. ToolBoy
Windows 7 U. Windows 10 pro.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: GetExtensionPart und kein tokenzähler?

Beitrag von HeX0R »

ts-soft hat geschrieben:Mit:

Code: Alles auswählen

SetCurrentDirectory(GetPathPart(ProgramFilename()))
erstmal das CurrentDirectory setzen
(am besten am Programmanfang) , dann kannste anschließend GetCurrentDirectory() sicher verwenden!
Ist das tatsächlich so?
Kann nicht ein anderes Programm während der Laufzeit meines Programmes diesen wieder umbiegen?

Also ich zumindest verwende niemals Set/GetCurrentDirectory() in meinen Programmen, immer GetPathPart(ProgramFileName()).
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: GetExtensionPart und kein tokenzähler?

Beitrag von ts-soft »

HeX0R hat geschrieben: Ist das tatsächlich so?
Kann nicht ein anderes Programm während der Laufzeit meines Programmes diesen wieder umbiegen?
Nein, Du kannst nur die Einstellung des Dich aufrufenden Prozesses erben, aber danach kannste es nur noch selber umbiegen,
auch nur für Deinen Process, bzw. für einen, den Du startest.

Jeder Process hat sein eigenes CurrentDirectory!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: GetExtensionPart und kein tokenzähler?

Beitrag von Kaeru Gaman »

ToolBoy hat geschrieben:ich hatte eine Mailanfrage an Andre XXXX von dieser Seite gestellt wegen der Versionen a. 69 und b. 79 Euro. Bekomme aber keine Antwort. Ich warte mal die kommende Woche ab, wegen Urlaub und so.
die relevanten Informationen solltest du auch hier finden:
http://www.purebasic.fr/german/viewtopi ... =9&t=10604
http://www.purearea.net/pb/german/faq/

mir ist jetzt nicht ganz klar, welche version für 69,-€ du meinst, vielleicht das Upgrade von der 3.30?
79,-€ ist der aktuelle Preis für die Vollversion.
eventuell ist auch die Archiv-CD etwas für dich:
http://www.purearea.net/pb/german/faq/P ... -CDROM.htm
beides bekommst du direkt bei André.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
ToolBoy
Beiträge: 42
Registriert: 01.01.2010 16:19
Computerausstattung: Win 98ME, XP Home und Pro, Win2000 und WinVista32 Home Pre.
Wohnort: Duisburg

Re: GetExtensionPart und kein tokenzähler?

Beitrag von ToolBoy »

Hallo,

wenn ich

Code: Alles auswählen

SetCurrentDirectory(GetPathPart(ProgramFilename()))
am Programmanfang setze kommt immer ein Struktur oder ein not variable Error, egal was ich bei (ProgramFilename) einsetze.

Ansonsten klappt alles sehr gut, bei WebGadget hatte ich mit Probleme gerechnet, bekomme diese aber bei ImageGadget.

Code: Alles auswählen

LoadImage(20, "RBF\ORD.bmp")                    
ImageGadget(21,  595, 14, 32, 32, ImageID(20)) 
ImageGadget(22,  595, 14, 32, 32, ImageID(20))  
Wenn ImageGadget(21, 595, 14, 32, 32, ImageID(20)) fehlt
oder ImageGadget(22, 595, 14, 32, 32, ImageID(20)) fehlt
wird das bmp Bild nicht im Fenster angezeigt.

L.G. ToolBoy
Windows 7 U. Windows 10 pro.
Antworten