Announcement

Collapse
No announcement yet.

Record erstellen und in Dateien speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Record erstellen und in Dateien speichern

    Hi,

    ich wollte ein Programm schreiben um Fehlermeldungen und ihre Lösungen zu speichern, aber irgendwie bekomme ich die Recorddeklaration und das erstellen der Datei net hin.

    Villeicht kann mir da jemand bei helfen.

  • #2
    Hallo,
    wo willst Du denn die Daten speichen (Textdatei oder DB oder??)
    Wie groß kann denn ein Record werden?

    Gruß Ralf

    Comment


    • #3
      Moin chaotic91,

      wie Ralf anmerkte, solltest Du Dir einige grundsätzlichere Gedanken machen.

      Ein einfaches Beispiel habe ich zu einer ersten Orientierung unten gecodet:
      - Record mit zwei Feldern (das das Content-Feld nicht begrenzt ist, gefällt mir nicht, ist aber lauffähig)
      - eine Combobox, in der Themenebereiche vorgeben aber auch ferui editierbar sind
      - ein Memofeld zur Lösungseingabe
      - ein Schalter zum Speichern

      Auf Schalterdruck hin wird der Inhalt der aktuellen Meldung in eine Datei gespeichert

      unit Unit1;

      interface

      uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;

      type
      TErrorRecord = record
      Subject : string[255];
      Content : string;
      end;

      TForm1 = class(TForm)
      btnSave: TButton;
      cbSubject: TComboBox;
      mContent: TMemo;
      procedure btnSaveClick(Sender: TObject);
      private
      { Private-Deklarationen }
      public
      { Public-Deklarationen }
      end;

      var
      Form1: TForm1;

      implementation

      {$R *.dfm}

      procedure TForm1.btnSaveClick(Sender: TObject);
      var
      i : integer;
      p : TErrorRecord;
      begin
      // Dateinamen für Textspeicherung eingeben lassen
      with TOpenDialog.Create(Self) do
      try
      // Speicherpfad vorgeben
      InitialDir := ExtractFilePath(ParamStr(0));
      // Dateinamen vorgeben
      FileName := 'Subj' + FormatDateTime('yymmddhhnnss', Now) + '.TXT';
      if (Execute) then begin // Bstätigung der Auswahl
      // Daten aus Maske in Record schreiben (eigentlich unsinnig ...)
      p.Subject := cbSubject.Text;
      p.Content := mContent.Lines.Text;

      // Recordinhalt in Liste schreiben
      with TStringList.Create do
      try
      // Thema in Liste ablegen
      Add('Thema:');
      Add(p.Subject);
      Add('');
      // Lösung in Liste ablegen
      Add('Lösung:');
      Add(p.Content);
      // Listeninhalt in ausgewählter Dstei speichern
      SaveToFile(FileName);
      finally
      Free; // Stringliste freigeben
      end;
      end;
      finally
      Free; // TOpenDialog freigeben
      end;
      end;

      end.


      Ich hoffe, das hilft Dir weiter,

      Gruß,

      Geert

      Comment


      • #4
        hi Geert Dade,

        danke deine Antwort hat mir ziemlich weitergeholfen.

        Mein Programm läuft jetzt, dank deinen Tips

        Gruß

        chaotic91

        Comment

        Working...
        X