Seite 2 von 2

Verfasst: 01.08.2007 17:59
von ts-soft
Statt Declare aber besser Define, ich war schon wieder bei einem anderen Dialekt :mrgreen:

Verfasst: 01.08.2007 18:05
von pede
das Declare hab ich nur als Beispiel aus dem WinApi Guide kopiert, seh grat dass ichs vergessen hab anzugeben...
sry =)

ich editiers grat mal nach...

Verfasst: 01.08.2007 18:21
von a14xerus
Wo wir grade mal beim Thema sind:

Code: Alles auswählen

HKEY = #HKEY_CURRENT_USER
key.s = "lalalala\"
  Repeat
    Value.s = JHRegListSubValue(HKEY.l,key.s, i.l)
    If Value
      content.s = JHRegGetString(HKEY, key, Value)
      If content
        If Not RegistryAvailable(HKEY, Value)
           debug "-----"
           debug HKEY
           debug key
           debug Value
           debug content
        EndIf
      EndIf
    EndIf
    i+1
  Until Not Value
Dieser Code liest alle "Values" mit dem dazugehörigen "Content" aus dem angegebenen Key.
Wie krieg ich das ohne Lib hin?
Ich hänge beim auflisten der values in einem bestimmten Subkey fest...
Warum ich es ohne Lib machen will?
Die Lib ist nicht Threadsave

Verfasst: 01.08.2007 18:22
von ts-soft

Verfasst: 01.08.2007 18:24
von a14xerus
ok :)
Mir ist aber aufgefallen das in deinem IncludePak alles drin war was ich brauchte;)
Und jetzt weiß ich auch direkt wie es mit WinApi gemacht wird

Verfasst: 06.08.2007 18:57
von pede
ich sitz nun schon längere Zeit am Befehl RegQueryValueEx_()...

mittlerweile bin ich im Stande, den Befehl zu nutzen, damit er das tut, was ich will...

Code: Alles auswählen

If RegOpenKeyEx_(#HKEY_CURRENT_USER, "Software\Easy_Termin", 0, #KEY_ALL_ACCESS, @hKey) = #ERROR_SUCCESS
  Debug "passt"
EndIf

lpcdata= (255*SizeOf(Character)) + 1
Inhalt.s = Space(255)
ValueName$ = "nfm.dat"

If RegQueryValueEx_(hKey, valueName$, 0,0, @Inhalt, @lpcdata) = #ERROR_SUCCESS
    Debug Inhalt
    Debug lpcdata
EndIf
verstanden hab ich es jedoch noch nicht ganz...
Hier die Fragen:
1)Wieso muss ich lpcdata und Inhalt.s schon vorher belegen (mit 255*sizeof... und Space(255))?

2)wieso macht es einen Unterschied, ob ich Inhalt.s oder Inhalt$ = Space(255) schreibe (einmal kommt die ?Speicheradresse?(bei *$) und einmal der String (bei *.s)

3)Habt ihr ein Tutorial das Zeiger genauer erklärt, ich glaub mittlerweile, dass ich da irgendwas total falsch verstanden hab...
(was tut z.b @lpcdata, sagt das, der computer soll den wert den lpcdata erhalten würde, in die speicheradresse von lpcdata schreiben??, wieso geht dann nicht einfach lpcdata ohne das @)

Verfasst: 06.08.2007 19:00
von edel

Verfasst: 06.08.2007 19:01
von pede
danke edel, ich les mirs gleich mal durch! :allright:

Verfasst: 06.08.2007 19:30
von pede
also das war echt mal n klasse tut :allright:

zu 1) soweit ich es nun verstanden habe, muss ich es vorher belegen, damit, sobald ich mit einem Pointer zugreife, genug Platz zum abspeichern der Variable da ist oder? :roll:

2) Noch nicht geklärt, was ist denn der Unterschied von Inhalt$ und Inhalt.s?

Verfasst: 06.08.2007 20:07
von edel
1. Ja
2. $ ist wohl eine alte Basicart , mal abgesehen das sie recht scheisse aussieht, ist es genau das gleiche wie .s