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: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100:
| procedure TActionListe.SaveToBlob(Name: TBlobField); var MyStream: TBlobStream; i,j: smallint; begin MyStream:=TBlobStream.Create(Name, bmWrite); i:=Count-1; MyStream.Write(i, sizeof(i));
for i:= 0 to Count-1 do TAction(Items[i]).Store(MyStream);
if(ZDaten<>nil)and(ZDaten.Count>0) then begin with ZDaten do begin i:= Count; MyStream.Write(i, SizeOf(i)); if(Count>0)then begin for i := 0 to Count-1 do begin j:=Wert[i]; MyStream.Write(j, SizeOf(j)); end; end; end; end else begin i:= 0; MyStream.Write(i, SizeOf(i)); end;
if(ADaten<>nil)and(ADaten.Count>0) then begin with ADaten do begin i:= Count; MyStream.Write(i, SizeOf(i)); if(Count>0)then begin for i := 0 to Count-1 do begin xTemp:= ADaten[i]; MyStream.Write(xTemp, length(xTemp)+1); end; end; end; end else begin i:= 0; MyStream.Write(i, SizeOf(i)); end; MyStream.Free; end;
procedure TActionListe.LoadFromBlob(Name: TBlobField); var MyStream: TBlobStream; Anzahl,i,j: smallint; begin MyStream:=TBlobStream.Create(Name, bmRead); Anzahl:= MyStream.Seek(0,2); MyStream.Free; if(Anzahl=0)then exit; MyStream:=TBlobStream.Create(Name, bmRead); MyStream.Read(Anzahl, sizeof(Anzahl)); for i:=0 to Anzahl do begin Action:=TAction.Create('X'); Action.Load(MyStream); Add(Action); end;
MyStream.Read(Anzahl, SizeOf(Anzahl)); if(Anzahl>0)then begin ZDaten:= TIntegerListe.Create; with ZDaten do for i:= 1 to Anzahl do begin MyStream.Read(j, SizeOf(j)); Wert[-1]:=j; end; end;
MyStream.Read(Anzahl, SizeOf(Anzahl)); if(Anzahl>0)then begin ADaten:= TStringList.Create; with ADaten do for i:= 1 to Anzahl do begin MyStream.Read(xTemp[0], 1); MyStream.Read(xTemp[1], byte(xTemp[0])); Add(xTemp); end; end; MyStream.Free; end; |