Definitionsdatei zum Suchen

Anfängerfragen zum Programmieren mit PureBasic.
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

Beitrag von ts-soft »

Kaeru Gaman hat geschrieben:nee.. weil die prefs nicht da ist.

also werden die defaults auch nicht gesetzt, weil die ReadPreference-Funktionen garnicht ausgeführt werden.
Da würde ich doch nochmal in der Hilfe nachlesen :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

bau doch das else mal ein......


>> Da würde ich doch nochmal in der Hilfe nachlesen

Schatzele...
in der Help steht, ich kann die ReadPreference-Befehle benutzen, wenn die Datei nicht gefunden wurde...
da steht aber nicht, dass ein If-Branch trotzdem ausgeführt wird.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
DrNo
Beiträge: 202
Registriert: 09.05.2008 15:20
Wohnort: BW, Deutschland
Kontaktdaten:

Beitrag von DrNo »

Wo?
Geht ja garnicht.
Ganz am anfang vom code les ich die aktuelle version (av) und dessen Datum (date) ein.
Direkt danach ha bich zum Test nen MessageRequester eingebaut. Da wird alles angezeigt.
Benutzeravatar
DrNo
Beiträge: 202
Registriert: 09.05.2008 15:20
Wohnort: BW, Deutschland
Kontaktdaten:

Beitrag von DrNo »

Öhm entweder ich bin einfach zu müde und überseh irgendwas oder es is ein Bug. Jedenfalls hab ich mal das ganze "Projekt" hochgeladen. Wär nett von euch, das Problem mal kurz anzuschauen. Code is nich lang, nur 80z (bisjetzt).

http://drno.bplaced.net/adkiller.zip

DrNo
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

Beitrag von ts-soft »

OpenPreference nutzt man ja auch nicht in einem If, es sei dann man möchte
die Preference erstellen, wenns die noch garnicht gibt.
Manchmal überprüfen die Einsteiger garnichts und manchmal da wo es
falsch ist :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

tja... völlig egal, was "man" tut.

so wie der code dasteht, hat er die defaults nicht gesetzt wenn die datei nicht existiert, weil das openpreferences geIfft ist.

.... was er auch ganz simpel sehen könnte, wenn er einfach mal das Else einsetzt und den Requester.

möglicher weise stimmt die CurrentDir nicht, wenn die Prefs nicht am angegebenen relativen Pfad gefunden wird.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
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

Beitrag von ts-soft »

CurrentDir stimmt nur, wenn man oder der aufrufende Process es gesetzt hat. Also immer schön selber setzen!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
DrNo
Beiträge: 202
Registriert: 09.05.2008 15:20
Wohnort: BW, Deutschland
Kontaktdaten:

Beitrag von DrNo »

:allright:

...Und was stimmt jetzt nicht? :freak:

Weil ich hab das ganze bestimmt schon zig mal gemacht. Also der Versionvergleich per Prefs/Versionsanzeige in nem TextGadget und es hat ja bisjetzt immer geklappt.

Und wegen Default: Muss da ein Default-Inhalt rein oder ein Default-Dateiverweis?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> ...Und was stimmt jetzt nicht?

möglicherweise dein relativer pfad, also die CurrentDir..
hast du denn jetzt mal das Else eingebaut, um ne meldung zu bekommen ob er die prefs findet?


> Und wegen Default:
wenn du das If beim OpenPrefs wegläßt, führt er dir auch den Default-Wert beim Read aus.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
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

Beitrag von ts-soft »

Erstell mal eine testdatei im selben ordner und teste mal:

Code: Alles auswählen

Procedure.s GetExePath()
  Protected ExePath.s = GetPathPart(ProgramFilename())
  If LCase(ExePath) = LCase(GetTemporaryDirectory()) : ExePath = GetCurrentDirectory() : EndIf
  ProcedureReturn ExePath
EndProcedure

SetCurrentDirectory(GetExePath())

Debug OpenPreferences("data\config.conf") 
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten