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: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Spin;
type TForm1 = class(TForm) Label1: TLabel; Button1: TButton; Label5: TLabel; SpinEdit4: TSpinEdit; Label6: TLabel; Label7: TLabel; ComboBoxEx1: TComboBoxEx; SpinEdit5: TSpinEdit; SpinEdit6: TSpinEdit; SpinEdit7: TSpinEdit; Button2: TButton; Label8: TLabel; Edit1: TEdit; Label9: TLabel; Label10: TLabel; SpinEdit8: TSpinEdit; SpinEdit9: TSpinEdit; SpinEdit10: TSpinEdit; SpinEdit11: TSpinEdit; Label11: TLabel; ComboBoxEx2: TComboBoxEx; Label12: TLabel; Edit2: TEdit; Button3: TButton; Button4: TButton; Button5: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
type schachtel4 = record wert1: string; wert2: string; wert3: string; wert4: string; end;
type schachtel3 = record schachtel4: array of schachtel4; wert1: string; wert2: string; wert3: string; wert4: string; end;
type schachtel2 = record schachtel3: array of schachtel3; wert1: string; wert2: string; wert3: string; wert4: string; end; var schachtel2inhalt: array of schachtel2; wert1: string; wert2: string; wert3: string; wert4: string;
procedure TForm1.Button1Click(Sender: TObject); var i2, i3, i4: integer; begin SetLength(schachtel2inhalt, 4); for i2 := 0 to 3 do begin SetLength(schachtel2inhalt[i2].schachtel3, 4); for i3 := 0 to 3 do begin SetLength(schachtel2inhalt[i2].schachtel3[i3].schachtel4, 4); end; end; end;
procedure TForm1.Button2Click(Sender: TObject); begin case SpinEdit4.Value of 1: begin case ComboBoxEx1.ItemIndex of 0: wert1 := Edit1.Text; 1: wert2 := Edit1.Text; 2: wert3 := Edit1.Text; 3: wert4 := Edit1.Text; end; end; 2: begin case ComboBoxEx1.ItemIndex of 0: schachtel2inhalt[SpinEdit5.Value].wert1 := Edit1.Text; 1: schachtel2inhalt[SpinEdit5.Value].wert2 := Edit1.Text; 2: schachtel2inhalt[SpinEdit5.Value].wert3 := Edit1.Text; 3: schachtel2inhalt[SpinEdit5.Value].wert4 := Edit1.Text; end; end; 3: begin case ComboBoxEx1.ItemIndex of 0: schachtel2inhalt[SpinEdit5.Value].schachtel3[SpinEdit6.Value].wert1 := Edit1.Text; 1: schachtel2inhalt[SpinEdit5.Value].schachtel3[SpinEdit6.Value].wert2 := Edit1.Text; 2: schachtel2inhalt[SpinEdit5.Value].schachtel3[SpinEdit6.Value].wert3 := Edit1.Text; 3: schachtel2inhalt[SpinEdit5.Value].schachtel3[SpinEdit6.Value].wert4 := Edit1.Text; end; end; 4: begin case ComboBoxEx1.ItemIndex of 0: schachtel2inhalt[SpinEdit5.Value].schachtel3[SpinEdit6.Value].schachtel4[SpinEdit7.Value].wert1 := Edit1.Text; 1: schachtel2inhalt[SpinEdit5.Value].schachtel3[SpinEdit6.Value].schachtel4[SpinEdit7.Value].wert2 := Edit1.Text; 2: schachtel2inhalt[SpinEdit5.Value].schachtel3[SpinEdit6.Value].schachtel4[SpinEdit7.Value].wert3 := Edit1.Text; 3: schachtel2inhalt[SpinEdit5.Value].schachtel3[SpinEdit6.Value].schachtel4[SpinEdit7.Value].wert4 := Edit1.Text; end; end; end; end;
procedure TForm1.Button3Click(Sender: TObject); begin case SpinEdit8.Value of 1: begin case ComboBoxEx2.ItemIndex of 0: Edit2.Text := Wert1; 1: Edit2.Text := Wert2; 2: Edit2.Text := Wert3; 3: Edit2.Text := Wert4; end; end; 2: begin case ComboBoxEx2.ItemIndex of 0: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].wert1; 1: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].wert2; 2: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].wert3; 3: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].wert4; end; end; 3: begin case ComboBoxEx2.ItemIndex of 0: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].schachtel3[SpinEdit10.Value].wert1; 1: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].schachtel3[SpinEdit10.Value].wert2; 2: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].schachtel3[SpinEdit10.Value].wert3; 3: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].schachtel3[SpinEdit10.Value].wert4; end; end; 4: begin case ComboBoxEx2.ItemIndex of 0: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].schachtel3[SpinEdit10.Value].schachtel4[SpinEdit11.Value].wert1; 1: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].schachtel3[SpinEdit10.Value].schachtel4[SpinEdit11.Value].wert2; 2: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].schachtel3[SpinEdit10.Value].schachtel4[SpinEdit11.Value].wert3; 3: Edit2.Text := schachtel2inhalt[SpinEdit9.Value].schachtel3[SpinEdit10.Value].schachtel4[SpinEdit11.Value].wert4; end; end; end; end;
procedure TForm1.Button4Click(Sender: TObject); Var Stream : TStream; i, i2, i3:integer; begin Stream:=TFilestream.create('C:\write.ogdb',fmcreate); try with Twriter.create(Stream,1024) do try writestring(wert1); writestring(wert2); writestring(wert3); writestring(wert4); writeinteger(length(schachtel2inhalt)); for i:=0 to length(schachtel2inhalt)-1 do begin writestring(schachtel2inhalt[i].wert1); writestring(schachtel2inhalt[i].wert2); writestring(schachtel2inhalt[i].wert3); writestring(schachtel2inhalt[i].wert4); writeinteger(length(schachtel2inhalt[i].schachtel3)); for i2:=0 to length(schachtel2inhalt[i].schachtel3)-1 do begin writestring(schachtel2inhalt[i].schachtel3[i2].wert1); writestring(schachtel2inhalt[i].schachtel3[i2].wert2); writestring(schachtel2inhalt[i].schachtel3[i2].wert3); writestring(schachtel2inhalt[i].schachtel3[i2].wert4); writeinteger(length(schachtel2inhalt[i].schachtel3[i2].schachtel4)); for i3:=0 to length(schachtel2inhalt[i].schachtel3[i2].schachtel4)-1 do begin writestring(schachtel2inhalt[i].schachtel3[i2].schachtel4[i3].wert1); writestring(schachtel2inhalt[i].schachtel3[i2].schachtel4[i3].wert2); writestring(schachtel2inhalt[i].schachtel3[i2].schachtel4[i3].wert3); writestring(schachtel2inhalt[i].schachtel3[i2].schachtel4[i3].wert4); end; end; end; finally free; end; finally Stream.free; end; end;
procedure TForm1.Button5Click(Sender: TObject); var Stream : TStream; i, i2, i3, len, len2, len3: integer;
begin Stream:=TFilestream.create('C:\write.ogdb',fmopenRead); try with TReader.create(Stream,1024) do try wert1:=ReadString; wert2:=ReadString; wert3:=ReadString; wert4:=ReadString; len := ReadInteger; SetLength(schachtel2inhalt,len); for i:=0 to len-1 do begin schachtel2inhalt[i].wert1 := ReadString; schachtel2inhalt[i].wert2 := ReadString; schachtel2inhalt[i].wert3 := ReadString; schachtel2inhalt[i].wert4 := ReadString; len2 := ReadInteger; SetLength(schachtel2inhalt[i].schachtel3,len2); for i2:=0 to len2-1 do begin schachtel2inhalt[i].schachtel3[i2].wert1 := ReadString; schachtel2inhalt[i].schachtel3[i2].wert2 := ReadString; schachtel2inhalt[i].schachtel3[i2].wert3 := ReadString; schachtel2inhalt[i].schachtel3[i2].wert4 := ReadString; len3 := ReadInteger; SetLength(schachtel2inhalt[i].schachtel3[i2].schachtel4,len3); for i3:=0 to len3-1 do begin schachtel2inhalt[i].schachtel3[i2].schachtel4[i3].wert1 := ReadString; schachtel2inhalt[i].schachtel3[i2].schachtel4[i3].wert2 := ReadString; schachtel2inhalt[i].schachtel3[i2].schachtel4[i3].wert3 := ReadString; schachtel2inhalt[i].schachtel3[i2].schachtel4[i3].wert4 := ReadString; end; end; end; finally free; end; finally Stream.free; end; end;
end. |