Seite 2 von 2

Verfasst: 29.03.2008 02:11
von STARGÅTE
ja und ?

dein Code funzt doch ?`

Code: Alles auswählen

testcfg = OpenPreferences("lcd.cfg") 
   If testcfg = 0 
          CreatePreferences("Lcd.cfg") 
   EndIf 
          PreferenceGroup("Set")  ;<-------------------- 
      
     ;Ts. Name 
       Global tsname.s = ReadPreferenceString ("TS_name", "") 
       If le =0 
       EndIf 
       Global Sec.l = ReadPreferenceLong ("Sec",5000000) 
       Debug Sec
da steht bei mir : 232534324

Verfasst: 29.03.2008 15:01
von Kratermonster
Bei mir kommt nur null zurück ;(
mist ^^

mfg simi

Verfasst: 29.03.2008 15:12
von Kratermonster

Code: Alles auswählen

Procedure auslesn(le)
          OpenPreferences("lcd.cfg")
testcfg = OpenPreferences("lcd.cfg")
   If testcfg = 0
          msg("Keine cfg Datei erstelle neue...")
          CreatePreferences("Lcd.cfg")
   EndIf
          PreferenceGroup("Set")
     
     ;Ts. Name
       Global tsname.s = ReadPreferenceString ("TS_name", "")
       If le =0 
       SetGadgetText(#String_name, tsname)
       EndIf
 
      ;Ts Starten check
       Global tsebel.l = ReadPreferenceLong ("TS_start", 0)
       If le =0 
       SetGadgetState(#CheckBox_ts, tsebel)
       EndIf
   
      ;Ts. Server
       Global tsserver.s = ReadPreferenceString ("TS_server", "")
       If le =0 
       SetGadgetText(#String_Server, tsserver)
       EndIf
       
      ;Ts Password
       Global tsPass.s = ReadPreferenceString ("TS_pass", "")
       If le =0 
       SetGadgetText(#String_Pass, tsPass)
       EndIf

      ;Ts Chanel
       Global tschanel.s = ReadPreferenceString ("TS_chanel", "")
       If le =0 
       SetGadgetText(#String_Chanel, tschanel)
       EndIf

      ;Ts Sub
       Global tssub.s = ReadPreferenceString ("TS_sub", "")
       If le =0 
       SetGadgetText(#String_Sub, tssub)
       EndIf
       
      ;Relogen
       Global relog.l = ReadPreferenceLong ("Relog", 0)
       If le =0 
       SetGadgetState(#CheckBox_Relog, relog) 
       EndIf
      
      ;Relog verz   
       Global relogverz.s = ReadPreferenceString ("Relogverz", "")
       If le =0 
       SetGadgetText(#String_rverz, relogverz)
       EndIf
       
      ;Boten  
       Global boot.l = ReadPreferenceLong ("Boot", 0)
       If le =0 
       SetGadgetState(#CheckBox_boot, Boot) 
       EndIf

      ;Boot sec  
       Global Sec.l = ReadPreferenceLong ("Sec",5000000)
       If le =0 
       SetGadgetText(#String_bsec, Str(sec))
       EndIf

      ;Ts verz   
       Global tsverz.s = ReadPreferenceString ("TS_verz", "")
       If le =0 
       SetGadgetText(#String_tsverz, tsverz)
       EndIf
EndProcedure

Code: Alles auswählen

---------------------------------------------------------------------------------
;---------  *** FEnster 3 ***  -------------
fine:
aus = 0
CloseWindow(#Window_0)
win3()
auslesn(1)
msg(tsname)
msg(Str(Sec))
CreateThread(@countdown(), Str(sec))
;Msg(tsname)
;Msg(tsPass)
;RunProgram("TeamSpeak.exe", "/nickname="+tsname+"?Loginname="+tsname+"?Password="+tsPass+"?channel="+tschanel+"?Subchannel="+tssub ,tsverz)
;ganz unten sind die Variablen zeile 350 - 400
;Hier chris  ? ????????????????????????????????????????

Repeat
SetGadgetText(#time_1, anzeige2)
event   = WindowEvent()
 
  If event
 
    Select event
 
    Case #PB_Event_CloseWindow       
      aus = 1    
    
    EndSelect
                              
  EndIf                         

   If boom = 13
   aus = 1
   EndIf



Delay(5) 
Until aus = 1
If Boom =13
Goto boom
EndIf
End
boom:
msg("Neustart")

Verfasst: 29.03.2008 15:27
von Kiffi
erstmal...

Code: Alles auswählen

          OpenPreferences("lcd.cfg")
testcfg = OpenPreferences("lcd.cfg") 
... solltest Du mal saubermachen. 2mal hintereinander OpenPreferences()
macht nicht wirklich Sinn.

Des weiteren vermute ich, dass Du 2 oder mehrere lcd.cfg auf Deiner Platte
(in unterschiedlichen Ordnern) hast. Prüfe mal testweise mit einem absoluten
Pfad (beispielsweise: c:\lcd.cfg) und schau, ob der Fehler immer noch auftritt.

(Den absoluten Pfad solltest Du nach Deinen Tests natürlich wieder
rausnehmen.)

und das hier...

Code: Alles auswählen

          msg("Keine cfg Datei erstelle neue...")
          CreatePreferences("Lcd.cfg") 
1.) macht es selten Sinn, dem Anwender mitzuteilen, dass eine neue
Pref.-Datei erzeugt wird. Das nervt höchstens.

und 2.) Bitte immer den Rückgabewert von CreatePreferences()
überprüfen. Was ist, wenn der Anwender Dein Programm von einer CD
startet?

Grüße ... Kiffi

Verfasst: 29.03.2008 15:51
von NicTheQuick
Grundsätzlich sollte man zwei Procedures haben. Eine um die Preferences zu
lesen und eine zum Schreiben.

Code: Alles auswählen

Global wert1.l
Procedure LeseEinstellungen()
  OpenPreferences("bla.pref")
  
  PreferenceGroup("gruppe")
  wert1 = ReadPreferenceLong("wert1", 500000)
  ;...
  
  ClosePreferences()
EndProcedure

Procedure SchreibeEinstellungen()
  If CreatePreferences("bla.pref"
    
    PreferenceGroup("gruppe")
    WritePreferenceLong("wert1", wert1)
    ;...
    
    ClosePreferences()
  EndIf
EndProcedure

LeseEinstellungen()

;Programmcode

SchreibeEinstellungen()
Dabei braucht man sich keine Sorgen um den Rückgabewert von
'OpenPreferences()' machen, weil dann nämlich die Standardwerte
genommen werden. Den Rückgabewert von 'CreatePreferences()' sollte
man allerdings prüfen und nur schreiben, wenn er auch ungleich Null ist.

Verfasst: 29.03.2008 19:00
von Kratermonster
okes Danke ich werd mal schauen das ich das mir zu hertzen nehme.

Und an Kiffi ;)
Bild
Den hast du gewonnen ;)
Vielen dank war wirklich so das ich eine ini im bekup Ordner benutzt hab.

mfg simi

Bei den Image-Tags keine Zeilenumbrüche reinbaun, dann klappts auch mit dem Nachbarn - Kaeru fecit

Verfasst: 29.03.2008 22:59
von PMV
will auch nen Keks :mrgreen:

schließlich war ich der erste, der das mit der falschen Datei angesprochen hat 8)

:wink:

MFG PMV

Verfasst: 30.03.2008 13:54
von Kratermonster
^^ Hab doch nur einen ;)

Bin mir sicher kiffi teilt gerne mit dir ^^

mfg duc