![]() |
Fehler beim Abspeichern und Laden
Liste der Anhänge anzeigen (Anzahl: 1)
hi, ich habe mein programm mit eurer Hilfe jetzt soweit mal fertig......nur will er mir nichts speichern oder laden!
ich schicke mal den Code und die Dateien, vllt. könnt ihr den Fehler ja finden!
Delphi-Quellcode:
Entschuldigt die fehlenden kommentare, aber ich habe momentan keine ZEit und habs programm in 35minuten schnellverfahren schrieben müssen, da ich morgen ncoh arbeiten schriebe :-(
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, Grids; type TInventarDetails = record Raum:String[9]; Typ:String[25]; System:String[90]; Benutzer:String[90]; IP:String[16]; end; TForm1 = class(TForm) GroupBox1: TGroupBox; SG_Inv: TStringGrid; GroupBox2: TGroupBox; MainMenu1: TMainMenu; Datei1: TMenuItem; CB_Raum: TComboBox; CB_Geraet: TComboBox; CB_System: TComboBox; CB_Benutzer: TComboBox; GroupBox3: TGroupBox; GroupBox4: TGroupBox; GroupBox5: TGroupBox; GroupBox6: TGroupBox; GroupBox7: TGroupBox; CB_IP: TComboBox; Label1: TLabel; Button1: TButton; Neu1: TMenuItem; Laden1: TMenuItem; Speichern1: TMenuItem; Speichernunter1: TMenuItem; N1: TMenuItem; Beenden1: TMenuItem; Hilfe1: TMenuItem; Version1: TMenuItem; OD_Oeffnen: TOpenDialog; SD_Save: TSaveDialog; Button2: TButton; Button3: TButton; procedure Beenden1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Laden1Click(Sender: TObject); procedure Speichern1Click(Sender: TObject); procedure Speichernunter1Click(Sender: TObject); procedure Neu1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; filter, inventar:array of TInventarDetails; datei:file of TInventarDetails; i, u: integer; Pfad, Raum, Typ, System, Nutzer, IP:String; kopiert:Boolean; implementation {$R *.dfm} procedure TForm1.Beenden1Click(Sender: TObject); begin Close; end; procedure TForm1.FormCreate(Sender: TObject); begin SG_Inv.Cells[0,0]:='Raum'; SG_Inv.Cells[1,0]:='Gerätetyp'; SG_Inv.Cells[2,0]:='Betriebssystem'; SG_Inv.Cells[3,0]:='Benutzer'; SG_Inv.Cells[4,0]:='IP - Adresse'; end; procedure TForm1.Laden1Click(Sender: TObject); begin if (OD_Oeffnen.Execute=true) then begin pfad:=OD_Oeffnen.InitialDir; i:=0; try AssignFile(datei,pfad); Reset(datei); while eof(datei)=false do begin setLength(inventar,i+1); Read(datei,inventar[i]); SG_Inv.Cells[0,i+1]:=inventar[i].Raum; SG_Inv.Cells[1,i+1]:=inventar[i].Typ; SG_Inv.Cells[2,i+1]:=inventar[i].System; SG_Inv.Cells[3,i+1]:=inventar[i].Benutzer; SG_Inv.Cells[4,i+1]:=inventar[i].IP; i:=i+1; end; CloseFile(datei); except ShowMessage('Die Datei konnte nicht geöffnet werden oder existiert nicht.'); end; for i:=0 to length(inventar) do begin if (inventar[i].Raum>inventar[i-1].Raum) then begin CB_Raum.Items.Add(inventar[i].Raum); end; if (inventar[i].Typ>inventar[i-1].Typ) then begin CB_Raum.Items.Add(inventar[i].Typ); end; if (inventar[i].System>inventar[i-1].System) then begin CB_Raum.Items.Add(inventar[i].System); end; if (inventar[i].Benutzer>inventar[i-1].Benutzer) then begin CB_Raum.Items.Add(inventar[i].Benutzer); end; if (inventar[i].IP>inventar[i-1].IP) then begin CB_Raum.Items.Add(inventar[i].IP); end; end; end; end; procedure TForm1.Speichern1Click(Sender: TObject); begin for i:=0 to (SG_Inv.RowCount-1) do begin inventar[i].Raum:=SG_Inv.Cells[0,i+1]; inventar[i].Typ:=SG_Inv.Cells[1,i+1]; inventar[i].System:=SG_Inv.Cells[2,i+1]; inventar[i].Benutzer:=SG_Inv.Cells[3,i+1]; inventar[i].IP:=SG_Inv.Cells[4,i+1]; end; try AssignFile(datei,pfad); ReWrite(datei); u:=0; while u<=length(inventar) do begin Write(datei,inventar[u]); u:=u+1; end; CLoseFile(datei); except ShowMessage('Sie haben bisher noch nicht abgespeichert. Bitte speichern Sie die Datei mit der "Speichern unter ..." Option.'); end; end; procedure TForm1.Speichernunter1Click(Sender: TObject); begin if (SD_Save.Execute=true) then begin for i:=0 to (SG_Inv.RowCount-1) do begin inventar[i].Raum:=SG_Inv.Cells[0,i+1]; inventar[i].Typ:=SG_Inv.Cells[1,i+1]; inventar[i].System:=SG_Inv.Cells[2,i+1]; inventar[i].Benutzer:=SG_Inv.Cells[3,i+1]; inventar[i].IP:=SG_Inv.Cells[4,i+1]; end; pfad:=SD_Save.InitialDir; try AssignFile(datei,pfad); ReWrite(datei); u:=0; while u<=length(inventar) do begin Write(datei,inventar[u]); u:=u+1; end; CLoseFile(datei); except ShowMessage('Die Datei konnte nicht gespeichert werden. Speicherpfad/Speichername ungültig oder nicht genügend freier Speicherplatz auf dere Festplatte verfügbar.'); end; end; end; procedure TForm1.Neu1Click(Sender: TObject); begin SG_Inv.RowCount:=2; SG_Inv.Cells[0,1]:=''; SG_Inv.Cells[1,1]:=''; SG_Inv.Cells[2,1]:=''; SG_Inv.Cells[3,1]:=''; SG_Inv.Cells[4,1]:=''; end; procedure TForm1.Button2Click(Sender: TObject); begin SG_Inv.RowCount:=SG_Inv.RowCount+1; end; procedure TForm1.Button1Click(Sender: TObject); begin if (kopiert=true) then begin SG_Inv.RowCount:=2; SG_Inv.Cells[0,1]:=''; SG_Inv.Cells[1,1]:=''; SG_Inv.Cells[2,1]:=''; SG_Inv.Cells[3,1]:=''; SG_Inv.Cells[4,1]:=''; for i:=0 to length(filter) do begin if (CB_Raum.ItemIndex>-1) then begin if (CB_Raum.Text>inventar[i].Raum) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; if (CB_Geraet.ItemIndex>-1) then begin if (CB_Geraet.Text>inventar[i].Typ) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; if (CB_System.ItemIndex>-1) then begin if (CB_System.Text>inventar[i].System) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; if (CB_Benutzer.ItemIndex>-1) then begin if (CB_Benutzer.Text>inventar[i].Benutzer) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; if (CB_IP.ItemIndex>-1) then begin if (CB_IP.Text>inventar[i].IP) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; end; for i:=0 to length(filter) do begin SG_Inv.RowCount:=i+2; SG_Inv.Cells[0,i+1]:=filter[i].Raum; SG_Inv.Cells[1,i+1]:=filter[i].Typ; SG_Inv.Cells[2,i+1]:=filter[i].System; SG_Inv.Cells[3,i+1]:=filter[i].Benutzer; SG_Inv.Cells[4,i+1]:=filter[i].IP; end; end else begin ShowMessage('BItte erst die Daten in den Zwischenspeicher kopieren.'); end; end; procedure TForm1.Button3Click(Sender: TObject); begin for i:=0 to SG_Inv.RowCount do begin filter[i].Raum:=SG_Inv.Cells[0,i+1]; filter[i].Typ:=SG_Inv.Cells[1,i+1]; filter[i].System:=SG_Inv.Cells[2,i+1]; filter[i].Benutzer:=SG_Inv.Cells[3,i+1]; filter[i].IP:=SG_Inv.Cells[4,i+1]; end; kopiert:=true; end; end. |
Re: Fehler beim Abspeichern und Laden
Delphi-Quellcode:
beim Speichern ist das schonmal falsch
while u<=length(inventar) do
so Richtig:
Delphi-Quellcode:
while u < length(inventar) do
hast du mal gedebuggt? - wird beim Speichern die Schleife richtig durchlaufen - wie sieht die Datei nach'm Speichern aus? richtige Dateigröße = Datensätze * SizeOf(TInventarDetails) - wie sieht es beim Laden aus ... wie wird da die Schleife durchlaufen .... |
Re: Fehler beim Abspeichern und Laden
ist alles richtig gelaufen, hat mir dann gaaaaaaanz am schluss nen fehler angezeigt und die datei nicht angelegt!
außerdem wieso ehile u<length(inventar)???? das letzte element soll ja auch gespeichert werden! |
Re: Fehler beim Abspeichern und Laden
Weil das erste Element den index 0 hat und das letzte dann Länge-1
|
Re: Fehler beim Abspeichern und Laden
Zitat:
Delphi-Quellcode:
oder
for i:=0 to length(filter) - 1 do
Delphi-Quellcode:
heißen.
for i:=Low(filter) to High(filter) do
|
Re: Fehler beim Abspeichern und Laden
Hallo,
bei 5 Einträgen ist das array 0-4 Das Array fängt bei 0 an. Ich würde hier eh eine for-Schleife nehmen. F5 Breakpoint mit F9 bis zum Breakpoint F7 / F8 schrittweise ausführen Heiko |
Re: Fehler beim Abspeichern und Laden
ja, stimmt......wie konnte ich vergessen...........
sorry, fehler meinerseids.... mal probieren ob es klappt, wen ich des umändere! ich sag dann bescheid! |
Re: Fehler beim Abspeichern und Laden
ich bekomme immernoch folgende Fehlermeldung:
Zitat:
|
Re: Fehler beim Abspeichern und Laden
An welcher Stelle denn?
|
Re: Fehler beim Abspeichern und Laden
Hallo Mr Hyde,
Delphi-Quellcode:
ist das nicht:
for i:=0 to SG_Inv.RowCount do
Delphi-Quellcode:
for i:=0 to SG_Inv.RowCount-1 do
Delphi-Quellcode:
besser:
if (SD_Save.Execute=true) then
Delphi-Quellcode:
if SD_Save.Execute then
Delphi-Quellcode:
besser:
if (OD_Oeffnen.Execute=true) then
Delphi-Quellcode:
if OD_Oeffnen.Execute then
Delphi-Quellcode:
besser:
while eof(datei)=false do
Delphi-Quellcode:
Bis bald Chemiker
while not eof(datei) do
|
Re: Fehler beim Abspeichern und Laden
ich habe beigebracht bekommen, dass man auf ein Drücken des OK-Buttons beim Lade-/Speicherfenster am genauesten mit
Delphi-Quellcode:
eingehen kann!
if (SD_Save.Execute=true) then
@DeddyH: wenn ich Abspeichern möchte mit hilfe des 'speichern unter ...' fenster. diese quelltext-stelle:
Delphi-Quellcode:
procedure TForm1.Speichernunter1Click(Sender: TObject);
begin if (SD_Save.Execute=true) then begin for i:=0 to (SG_Inv.RowCount-1) do begin inventar[i].Raum:=SG_Inv.Cells[0,i+1]; inventar[i].Typ:=SG_Inv.Cells[1,i+1]; inventar[i].System:=SG_Inv.Cells[2,i+1]; inventar[i].Benutzer:=SG_Inv.Cells[3,i+1]; inventar[i].IP:=SG_Inv.Cells[4,i+1]; end; pfad:=SD_Save.InitialDir; try AssignFile(datei,pfad); ReWrite(datei); u:=0; while u<=(length(inventar)-1) do begin Write(datei,inventar[u]); u:=u+1; end; CLoseFile(datei); except ShowMessage('Die Datei konnte nicht gespeichert werden. Speicherpfad/Speichername ungültig oder nicht genügend freier Speicherplatz auf dere Festplatte verfügbar.'); end; end; end; |
Re: Fehler beim Abspeichern und Laden
Zitat:
Da die .Execute()-Methode ja schon einen Boolean zurückliefert brauchst du diesen nicht mehr durch ein Vergleich erzeugen. Zudem ist True nicht eindeutig deklariert ( False = 0 und True <> 0)- Würde einen Methode nun etwas anderes als 1 (oder 0) zurückliefern ( was ja richtig wäre würde dein Vergleich ein False generieren) |
Re: Fehler beim Abspeichern und Laden
Zitat:
Die Gründe wurden schon mehrfach hier im Forum erklärt. |
Re: Fehler beim Abspeichern und Laden
ok, ich werde meinem Lehrer seinen Fehler unter die nase reiben!
:twisted: naja....also hab des nun alles ersetzt und so geschrieben wies hier drinnen ist......doh leider noch immer ohne Erfolg :-( da ihr ja nun seht/mitbekommen habt wieviel mein lehrer weis, kann wohl auch er mir bei meinem Problem nciht weiterhelfen...........zumal ich ihn erst nächsten Dienstag wieder habe.... ich bin ehrlich gesagt einer der besten unserer Stufe und bekomme die probleme eigendlich immer in 10-20 minuten gelöst, doch hier versagt mein latein leider:-( |
Re: Fehler beim Abspeichern und Laden
Zitat:
Delphi-Quellcode:
SD_Save.FileName
|
Re: Fehler beim Abspeichern und Laden
Hallo Mr Hyde,
da meine Zeit als Schüler schon etwas her ist, würde mich mal interessieren welche Vorgaben Du hast. Bis bald Chemiker |
Re: Fehler beim Abspeichern und Laden
ok, also...ich schreibe das programm so zusagen uaf eigene faust
wir solten ursprünglich (in nem nebenfach namens visuelle dokumentation) mittels exel ne Tabelle erstellen, mithilfe derer wir das "inventar" einer firma xy an IT-Material a)allgemein auflistung aller geräte und b) mithilfe eines Filters nur bestimmte geräte angezeigt bekommen. da ich strickter exelgegner bin wollte ich das programm in pascal schreiben, da ich es eigendlich sehr gut kann.....dachte ich zumindest! (wir fangen in visuelle dokumentation mit netzwerkplanung und sonem zeugs mit nem jungen lehrer und so...aber mein informatiklehrer kommt aus der freien marktwirtschaft und ist angeblich so gut....naja, ich will ihn nicht zu schlecht machen, er ist gut, aber wie man merkt muss auch er noch lernen!^^ |
Re: Fehler beim Abspeichern und Laden
Hallo,
dann zeige doch jetzt mal, wie der Code aussieht. Am besten die Unit.pas wie im 1. post und zusätzlich das ganze Projekt angehängt (ohne Exe). Heiko |
Re: Fehler beim Abspeichern und Laden
Liste der Anhänge anzeigen (Anzahl: 1)
entschuldigt die späte antwort, ich habe heute informatik-arbeit geschrieben und musste gestern noch lernen!
also, hier der nun der naktualisierte Queltext:
Delphi-Quellcode:
das laden/speichern geht jetzt, war ein fehler bei der längensetzung des arrays sowie einige SaveDialog/OpenDialog fehleingestellungen!
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, Grids; type TInventarDetails = record Raum:String[9]; Typ:String[25]; bsys:String[90]; Benutzer:String[90]; IP:String[16]; end; TForm1 = class(TForm) GroupBox1: TGroupBox; SG_Inv: TStringGrid; GroupBox2: TGroupBox; MainMenu1: TMainMenu; Datei1: TMenuItem; CB_Raum: TComboBox; CB_Geraet: TComboBox; CB_System: TComboBox; CB_Benutzer: TComboBox; GroupBox3: TGroupBox; GroupBox4: TGroupBox; GroupBox5: TGroupBox; GroupBox6: TGroupBox; GroupBox7: TGroupBox; CB_IP: TComboBox; Label1: TLabel; Button1: TButton; Neu1: TMenuItem; Laden1: TMenuItem; Speichern1: TMenuItem; Speichernunter1: TMenuItem; N1: TMenuItem; Beenden1: TMenuItem; Hilfe1: TMenuItem; Version1: TMenuItem; OD_Oeffnen: TOpenDialog; SD_Save: TSaveDialog; Button2: TButton; Button3: TButton; procedure Beenden1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Laden1Click(Sender: TObject); procedure Speichern1Click(Sender: TObject); procedure Speichernunter1Click(Sender: TObject); procedure Neu1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; filter, inventar:array of TInventarDetails; datei:file of TInventarDetails; i, u: integer; Pfad, Raum, Typ, bsys, Nutzer, IP:String; kopiert:Boolean; runfirst: integer; implementation {$R *.dfm} procedure TForm1.Beenden1Click(Sender: TObject); begin Close; end; procedure TForm1.FormCreate(Sender: TObject); begin SG_Inv.Cells[0,0]:='Raum'; SG_Inv.Cells[1,0]:='Gerätetyp'; SG_Inv.Cells[2,0]:='Betriebssystem'; SG_Inv.Cells[3,0]:='Benutzer'; SG_Inv.Cells[4,0]:='IP - Adresse'; Speichern1.Enabled := false; end; procedure TForm1.Laden1Click(Sender: TObject); begin OD_OEFFNEN.Filter := 'Datenbanken (*.db)|*.db| Alle Datein (*.*)| *.*'; if OD_Oeffnen.Execute then begin pfad:=OD_Oeffnen.FileName; i:=0; try AssignFile(datei,pfad); Reset(datei); while not eof(datei) do begin setLength(inventar,i+1); Read(datei,inventar[i]); SG_Inv.Cells[0,i+1]:=inventar[i].Raum; SG_Inv.Cells[1,i+1]:=inventar[i].Typ; SG_Inv.Cells[2,i+1]:=inventar[i].bsys; SG_Inv.Cells[3,i+1]:=inventar[i].Benutzer; SG_Inv.Cells[4,i+1]:=inventar[i].IP; SG_Inv.RowCount:=i+2; i:=i+1; end; CloseFile(datei); except ShowMessage('Die Datei konnte nicht geöffnet werden oder existiert nicht.'); end; {for i:=0 to (length(inventar)-1) do begin if (inventar[i].Raum>inventar[i-1].Raum) then begin CB_Raum.Items.Add(inventar[i].Raum); end; if (inventar[i].Typ>inventar[i-1].Typ) then begin CB_Raum.Items.Add(inventar[i].Typ); end; if (inventar[i].bsys>inventar[i-1].bsys) then begin CB_Raum.Items.Add(inventar[i].bsys); end; if (inventar[i].Benutzer>inventar[i-1].Benutzer) then begin CB_Raum.Items.Add(inventar[i].Benutzer); end; if (inventar[i].IP>inventar[i-1].IP) then begin CB_Raum.Items.Add(inventar[i].IP); end; end;} setlength(filter, 5); for i:=0 to 4 do begin filter[i].Raum := ''; filter[i].Typ :='' ; filter[i].bsys :='' ; filter[i].Benutzer :='' ; filter[i].IP :=''; end; end; end; procedure TForm1.Speichern1Click(Sender: TObject); begin for i:=1 to (SG_Inv.RowCount-1) do begin SetLength(inventar, i); inventar[i-1].Raum:=SG_Inv.Cells[0,i]; inventar[i-1].Typ:=SG_Inv.Cells[1,i]; inventar[i-1].bsys:=SG_Inv.Cells[2,i]; inventar[i-1].Benutzer:=SG_Inv.Cells[3,i]; inventar[i-1].IP:=SG_Inv.Cells[4,i]; end; try AssignFile(datei,pfad); ReWrite(datei); u:=0; while u<=length(inventar) do begin Write(datei,inventar[u]); u:=u+1; end; CLoseFile(datei); except ShowMessage('Sie haben bisher noch nicht abgespeichert. Bitte speichern Sie die Datei mit der "Speichern unter ..." Option.'); end; end; procedure TForm1.Speichernunter1Click(Sender: TObject); begin SD_SAVE.Filter := 'Datenbanken (*.db)|*.db| Alle Datein (*.*)| *.*'; if SD_Save.Execute then begin for i:=1 to (SG_Inv.RowCount-1) do begin SetLength(inventar, i); inventar[i-1].Raum:=SG_Inv.Cells[0,i]; inventar[i-1].Typ:=SG_Inv.Cells[1,i]; inventar[i-1].bsys:=SG_Inv.Cells[2,i]; inventar[i-1].Benutzer:=SG_Inv.Cells[3,i]; inventar[i-1].IP:=SG_Inv.Cells[4,i]; end; pfad:=SD_Save.FileName; try AssignFile(datei,pfad); ReWrite(datei); u:=0; while u<=(length(inventar)-1) do begin Write(datei,inventar[u]); u:=u+1; end; CLoseFile(datei); Speichern1.Enabled := false; except ShowMessage('Die Datei konnte nicht gespeichert werden. Speicherpfad/Speichername ungültig oder nicht genügend freier Speicherplatz auf dere Festplatte verfügbar.'); end; end; end; procedure TForm1.Neu1Click(Sender: TObject); begin SG_Inv.RowCount:=2; SG_Inv.Cells[0,1]:=''; SG_Inv.Cells[1,1]:=''; SG_Inv.Cells[2,1]:=''; SG_Inv.Cells[3,1]:=''; SG_Inv.Cells[4,1]:=''; end; procedure TForm1.Button2Click(Sender: TObject); begin SG_Inv.RowCount:=SG_Inv.RowCount+1; end; procedure TForm1.Button1Click(Sender: TObject); begin if (kopiert=true) then begin SG_Inv.RowCount:=2; SG_Inv.Cells[0,1]:=''; SG_Inv.Cells[1,1]:=''; SG_Inv.Cells[2,1]:=''; SG_Inv.Cells[3,1]:=''; SG_Inv.Cells[4,1]:=''; for i:=0 to (length(filter)-1) do begin if (CB_Raum.ItemIndex>-1) then begin if not(CB_Raum.Text=inventar[i].Raum) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; if (CB_Geraet.ItemIndex>-1) then begin if not(CB_Geraet.Text=inventar[i].Typ) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; if (CB_System.ItemIndex>-1) then begin if not(CB_System.Text=inventar[i].bsys) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; if (CB_Benutzer.ItemIndex>-1) then begin if not(CB_Benutzer.Text=inventar[i].Benutzer) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; if (CB_IP.ItemIndex>-1) then begin if not (CB_IP.Text=inventar[i].IP) then begin for u:=i+1 to length(inventar) do begin filter[u-1]:=filter[u]; SetLength(filter,length(filter)-1); end; end; end; end; for i:=0 to length(filter) do begin SG_Inv.RowCount:=i+2; SG_Inv.Cells[0,i+1]:=filter[i].Raum; SG_Inv.Cells[1,i+1]:=filter[i].Typ; SG_Inv.Cells[2,i+1]:=filter[i].bsys; SG_Inv.Cells[3,i+1]:=filter[i].Benutzer; SG_Inv.Cells[4,i+1]:=filter[i].IP; end; end else begin ShowMessage('Bitte erst die Daten in den Zwischenspeicher kopieren.'); end; end; procedure TForm1.Button3Click(Sender: TObject); begin for i:=0 to (SG_Inv.RowCount-1) do begin SetLength(filter, i+1); filter[i].Raum:=SG_Inv.Cells[0,i+1]; filter[i].Typ:=SG_Inv.Cells[1,i+1]; filter[i].bsys:=SG_Inv.Cells[2,i+1]; filter[i].Benutzer:=SG_Inv.Cells[3,i+1]; filter[i].IP:=SG_Inv.Cells[4,i+1]; end; kopiert:=true; runfirst := 1; for i:=0 to (length(filter)-1) do begin if runfirst = 1 then begin filter[i].Raum := SG_INV.Cells[0, i+1]; filter[i].Typ := SG_INV.Cells[1, i+1]; filter[i].bsys := SG_INV.Cells[2, i+1]; filter[i].Benutzer := SG_INV.Cells[3, i+1]; filter[i].IP := SG_INV.Ce´lls[4, i+1]; runfirst:=0; end else end; end; end. hab nun nur das problem, dass er mir ALLE optionen in die erste combobox, und nicht wie gewollt in die jeweils dafür vorgesehene combobox schreibt. anbei die Dateien!(ohne exe!^^) |
Re: Fehler beim Abspeichern und Laden
Hallo,
Breakpoint drauf und nachsehen. Sorry, aber ich verstehe deinen Code überhaupt nicht. Ich sehe kein Code ala CB_Raum.Items.Add Heiko |
Re: Fehler beim Abspeichern und Laden
das habe ich auskommentiert weil ich was anderes ausprobiert hatte, was auch nciht geklappt hatte und deshalb steht es noch in grün da!
sorry, hatte ich nicht drauf geachtet! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz