Thema: Delphi labels abspeichern

Einzelnen Beitrag anzeigen

tabl

Registriert seit: 27. Apr 2009
Ort: 31582
19 Beiträge
 
Delphi 7 Personal
 
#10

Re: labels abspeichern

  Alt 3. Aug 2009, 23:06
edit1:
für alle die die das gleiche problem wie ich haben eine mogliche lösung(über einen hilfrecord:

Delphi-Quellcode:
...
type
  thilflabel = record // definiren des hilfrecord mit den nötigen eigenschaften
    caption : string[100]; // darf kein dynamischer string sein, da sonst ein fehler entsteht
    color : tcolor; // sollte klar sein
  end;
...

var
  hilflblarray : array[0..19] of thilflblarray; //array defeniren, damit man nicht für jedes label einen neuen machen muss
  lblarray2 : array[0..19] of tlabel; // zuweisung sollte klar sein und erspart eine menge schreib arbeit^^
...

procedure TForm2.saveClick(Sender: TObject);
var datei : file of thilflabel;
    i :integer;
begin
  if savedialog.Execute then
  begin
    assignfile(datei,savedialog.FileName);
    try
      rewrite(datei);
      for i:=0 to 19 do
      begin
        hilflblarray[i].caption := lblarray2[i].Caption; // werte in den record übergeben
        hilflblarray[i].color := lblarray2[i].Color;
        write(datei,hilflblarray[i]); // und anschliessen sepichern
      end;
    finally
      closefile(datei);
    end;
  end;
end;

procedure TForm2.LadenClick(Sender: TObject);
var datei : file of thilflabel;
    i :integer;
begin
  if opendialog.Execute then
  begin
    assignfile(datei,opendialog.FileName);
    try
      reset(datei);
      for i := 0 to 19 do
      begin
        read(datei,hilflblarray[i]); // hier das genaze umgekehrt erst in den recor lesen
        lblarray2[i].Caption := hilflblarray[i].caption; // und auf label übertragen
        lblarray2[i].Color := hilflblarray[i].color;
      end;
    finally
      closefile(datei);
    end;
  end;
end;


ps: ich glaub mann braucht kein array sondern kann den record einfach überschreiben^^

edit2: ps2 wenn morgen ans drucken geht fällt mir bestimmt auch nch en prob ein, also stellt euch schonmal drauf ein^^
  Mit Zitat antworten Zitat