| Autor |
Beitrag |
delphinia
      
Beiträge: 131
XP Pro Sp2
Delphi 5 Standard
|
Verfasst: Sa 24.04.04 11:37
Hi
ich bin eigentlich eine ziemliche Anfängerin in Delphi
bin erst seit einem halben Jahr dabei!
Nun meine Bitte an Euch..
erklärt mir doch mal bitte Schritt für schritt den unten stehenden Quellcode
Das wäre echt nett von Euch!
CODE:
Zitat:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53:
| procedure SaveListItemPosition(LVH : THandle; RemoteAddr : Pointer); var lvi : TLVITEM; lenlvi : integer; nb : integer; buffer : array [0..MAX_PATH] of char; Base : Pointer; Base2 : PByte; i, ItemsCount : integer; Apoint : TPoint; key : HKEY; Dummy : integer; begin ItemsCount := SendMessage(LVH, LVM_GETITEMCOUNT, 0, 0); Base := RemoteAddr; lenlvi := SizeOf(lvi); FillChar(lvi, lenlvi, 0); lvi.cchTextMax := 255; lvi.pszText := Base; inc(lvi.pszText, lenlvi);
WriteToRemoteBuffer(@lvi, Base, 255);
Base2 := Base; inc(Base2, Lenlvi);
RegDeleteKey(HKEY_CURRENT_USER, RegSubKeyName);
RegCreateKeyEx(HKEY_CURRENT_USER, PChar(RegSUbKeyName), 0, nil, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, nil, key, nil);
for i := 0 to ItemsCount - 1 do begin nb := SendMessage(LVH, LVM_GETITEMTEXT, i, LParam(Base));
ReadRemoteBuffer(Base2, @buffer, nb + 1); FillChar(Apoint, SizeOf(Apoint), 0);
WriteToRemoteBuffer(@APoint, Base2, SizeOf(Apoint)); SendMessage(LVH, LVM_GETITEMPOSITION, i, LParam(Base) + lenlvi);
ReadRemoteBuffer(Base2, @Apoint, SizeOf(Apoint)); RegSetValueEx(key, @buffer, 0, REG_BINARY, @Apoint, SizeOf(APoint)); end; RegCloseKey(key); end; |
es handelt sich um den Code aus dem Tipp
www.swissdelphicente...showcode.php?id=1897
Moderiert von Peter Lustig (12:41, 24.04.2004): Topic verschoben
|
|
delphinia 
      
Beiträge: 131
XP Pro Sp2
Delphi 5 Standard
|
Verfasst: Di 25.07.06 19:57
niemand der das kann/Mag?
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Di 25.07.06 20:01
Was genau interessiert dich?
_________________ Markus Kinzler.
|
|
delphinia 
      
Beiträge: 131
XP Pro Sp2
Delphi 5 Standard
|
Verfasst: Di 25.07.06 20:02
ganz ehrlich? alles. Vorallem aber die Geschichte mit dem Buffer!
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Di 25.07.06 22:10
Ich erlaub mir mal, das zu formatieren:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59:
| Procedure SaveListItemPosition(LVH: THandle; RemoteAddr: Pointer); Var lvi: TLVITEM; lenlvi: integer; nb: integer; buffer: Array[0..MAX_PATH] Of char; Base: Pointer; Base2: PByte; i, ItemsCount: integer; Apoint: TPoint; key: HKEY; Dummy: integer; Begin ItemsCount := SendMessage(LVH, LVM_GETITEMCOUNT, 0, 0); Base := RemoteAddr; lenlvi := SizeOf(lvi); FillChar(lvi, lenlvi, 0); lvi.cchTextMax := 255; lvi.pszText := Base; inc(lvi.pszText, lenlvi);
WriteToRemoteBuffer(@lvi, Base, 255);
Base2 := Base; inc(Base2, lenlvi); RegDeleteKey(HKEY_CURRENT_USER, RegSubKeyName); RegCreateKeyEx(HKEY_CURRENT_USER, PChar(RegSubKeyName), 0, Nil, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, Nil, key, Nil);
For i := 0 To ItemsCount - 1 Do Begin nb := SendMessage(LVH, LVM_GETITEMTEXT, i, LParam(Base));
ReadRemoteBuffer(Base2, @buffer, nb + 1); FillChar(Apoint, SizeOf(Apoint), 0);
WriteToRemoteBuffer(@Apoint, Base2, SizeOf(Apoint)); SendMessage(LVH, LVM_GETITEMPOSITION, i, LParam(Base) + lenlvi);
ReadRemoteBuffer(Base2, @Apoint, SizeOf(Apoint)); RegSetValueEx(key, @buffer, 0, REG_BINARY, @Apoint, SizeOf(Apoint)); End; RegCloseKey(key); End; |
Alles was ich weis, hab ich auch gleich kommentiert. Ist nicht grade viel, aber jetzt ist der Code wenigstens leserlich und die Leute haben mehr spaß am angucken 
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
|