Variablen per Button in TXT schreiben

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Calanda
Beiträge: 6
Registriert: Di 21. Jun 2022, 07:18
OS, Lazarus, FPC: Windows 10, L 2.0.12 FPC 3.2.0
CPU-Target: 64Bit

Variablen per Button in TXT schreiben

Beitrag von Calanda »

Hallo liebe Community

Ich bin blutiger Anfänger mit Lazarus und mache meine ersten Versuche.
Irgendwie komme ich mit dem Append-Befehl nicht zurecht.
Im oberen Teil des Programmes habe ich die "procedure Append" definiert und die var f als textfile.
Es kommt am Ende immer der Fehler, dass Assign die falsche Anzahl Parameter hat, was fehlt im noch alles?

Code: Alles auswählen

unit RZR1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    CheckBox1: TCheckBox;
    EingabeMorgen: TEdit;
    EingabeMittag: TEdit;
    EingabeNachmittag: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    LblAusgabe: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure CheckBox1Change(Sender: TObject);
    procedure EingabeMorgenChange(Sender: TObject);
    procedure EingabeMittagChange(Sender: TObject);
    procedure EingabeNachmittagChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Label4Click(Sender: TObject);
    procedure LblAusgabeClick(Sender: TObject);
    procedure Append(var t : text);

  private

  public

  end;

var
  Form1: TForm1;
  f : textfile;
Beim Button sieht der Quellcode wie folgt aus, was mache ich hier falsch? Ich danke schon viel mal im Voraus für euer Knowhow!

Code: Alles auswählen

procedure TForm1.Button2Click(Sender: TObject);

var
  DatumHeute : string;
  LogFileLink : string;

begin
  DatumHeute := FormatDateTime('dd.mm.yyyy', now);
  LogFileLink := 'TimeLog.txt';
     Assign(f, LogFileLink);
     Append(f);
     Writeln(f, DatumHeute);
     Writeln(f, morgenzeit);
     Writeln(f, mittagzeit);
     Writeln(f, nachmittagzeit);
     Writeln(f, '-->' + EndzeitAusgabe);
     close(f);
end;                      

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Variablen per Button in TXT schreiben

Beitrag von siro »

Hallo Calanda,
ersteinmal willkommen im Forum

benutze bitte AssignFile und CloseFile

Warum steht die Procedure Append bei Dir in class TForm ?
möchtest Du die überschreiben

Mich meckert der Compiler auch an wenn ich nur Assign schreibe.

Ich habe grade noch folgendes gefunden:
viewtopic.php?t=9297
Zuletzt geändert von siro am Di 21. Jun 2022, 08:58, insgesamt 2-mal geändert.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Variablen per Button in TXT schreiben

Beitrag von siro »

sorry, doppelpost, gelöscht
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1432
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Variablen per Button in TXT schreiben

Beitrag von fliegermichl »

Append gibt es bereits und öffnet eine bestehende Textdatei um weiteren Text daran anzuhängen.

Calanda
Beiträge: 6
Registriert: Di 21. Jun 2022, 07:18
OS, Lazarus, FPC: Windows 10, L 2.0.12 FPC 3.2.0
CPU-Target: 64Bit

Re: Variablen per Button in TXT schreiben

Beitrag von Calanda »

Hallo Siro

Jetzt funktioniert es, vielen Dank für die Lösung!!! Ich dachte ich müsste die procedure Append immer in TForm definieren, ist dies in diesem Fall überflüssig...?

Danke und liebe Grüsse aus der Schweiz!

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Variablen per Button in TXT schreiben

Beitrag von PascalDragon »

Calanda hat geschrieben:
Di 21. Jun 2022, 09:08
Jetzt funktioniert es, vielen Dank für die Lösung!!! Ich dachte ich müsste die procedure Append immer in TForm definieren, ist dies in diesem Fall überflüssig...?
Die Prozedur Append wird von der RunTime Library bereitgestellt, da brauchst du nichts deklarieren oder definieren, genauso wie TForm ja von der LCL bereitgestellt wird und du mit deinen eigenen Formularen nur Kindklassen davon hast.
FPC Compiler Entwickler

Antworten