Seite 1 von 5

GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 06:58
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

Re: GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 08:11
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

Re: GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 12:38
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

Re: GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 12:52
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

Re: GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 13:22
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

Re: GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 13:29
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

Re: GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 13:32
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()).

Re: GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 13:36
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!

Re: GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 14:11
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é.

Re: GetExtensionPart und kein tokenzähler?

Verfasst: 08.01.2010 14:51
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