|
Registriert seit: 15. Feb 2009 Ort: Schwalbach 12 Beiträge Delphi 7 Professional |
#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. ![]() |
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |