AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign FreePascal Eine lineare Liste an Strings als Datei speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Eine lineare Liste an Strings als Datei speichern

Ein Thema von thejacensolo · begonnen am 13. Nov 2013 · letzter Beitrag vom 15. Nov 2013
 
thejacensolo

Registriert seit: 11. Jun 2013
Ort: Frankfurt am Main
13 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Eine lineare Liste an Strings als Datei speichern

  Alt 14. Nov 2013, 14:17
Hier die Unit mtvokabel:
Delphi-Quellcode:
UNIT mTVokabel;

interface

//-------------------- ggf Uses-Liste anpassen ! --------------------
uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls, ComCtrls, Menus;

type
  TVokabel = class

  public //Attribute
    Deutsch : string;
    Englisch : String;
    naechste : TVokabel;
    speicher : array of string;

     //Objektbeziehungen:

  public //Methoden
    constructor initVok (D: String; E: string); virtual;
    procedure SetzeEnglisch (pEnglisch: String); virtual;
    function GibEnglisch : String; virtual;

   end;

implementation

//+---------------------------------------------------------------------
//| TVokabel: Methodendefinition
//+---------------------------------------------------------------------

//-------- initVok (public) --------------------------------------------
constructor TVokabel.initVok (D: String; E: string);
begin
  Englisch := E;
  Naechste := nil; // Nil ist der Nullwert, dh ist noch nicht belegt.
  Deutsch := D;
end;

//-------- SetzeEnglisch (public) --------------------------------------
procedure TVokabel.SetzeEnglisch (pEnglisch: String);
begin
  Englisch := pEnglisch
end;

//-------- GibEnglisch (public) ----------------------------------------
function TVokabel.GibEnglisch : String;
begin
  result := Englisch
end;

end.

und meine HAuptunit
Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls, ComCtrls, Menus, mtListe, mTvokabel;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Edenglisch: TEdit;
    EDeutsch: TEdit;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
t:integer; Liste:TListe; vokabel:TVokabel; Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button3Click(Sender: TObject);
begin
  Liste.hinzufuegen(Edeutsch.text, Edenglisch.text);
  showmessage('Vokabel gespeichert');
  Edeutsch.Text := '';
  Edenglisch.Text := '';
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
liste.loeschen(strtoint(Edit1.text));
showmessage('vokabel gelöscht');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin

end;

procedure TForm1.Button10Click(Sender: TObject);
var n,t : integer;
begin
  n := liste.laenge;
  t := random(n);
  Edenglisch.text := Liste.zufallfragenE(t);
end;

procedure TForm1.Button11Click(Sender: TObject);
var n,t : integer;
begin
  n := liste.laenge;
  t := random(n);
  Edeutsch.text := Liste.zufallfragenD(t);
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
  //liste.SaveToFile(Edit2.text + Edit3.text + '.txt');
end;

procedure TForm1.Button5Click(Sender: TObject);
var n: string;
begin
 n := inttostr(liste.laenge);
 if Edit1.Text = ''  then
  begin
    showmessage('Keine Eingabe');
  end else;
  if Edit1.Text > n then
   begin
   showmessage('zu hohe zahl');
   end
 else begin;
    Edenglisch.Text := Liste.abfragen(strtoint(Edit1.Text));
  end;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
 if Edeutsch.text = 'then
  begin
  showmessage('Machen sie erst eine Eingabe');
  end
 else
  begin
  if EDeutsch.text = vokabel.Deutsch then
  begin
    showmessage('Die Vokabel war Richtig');
    Edenglisch.text := '';
    EDeutsch.Text := '';
  end else
  begin
    showmessage('Das war leider Falsch :-( versuche es nochmal');
    end;
  end;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
  //Erstes speichern
  liste := Tliste.initlist(Edenglisch.Text,EDeutsch.Text);
  //vokabel := TVokabel.initvok(Edenglisch.Text, EDeutsch.text);
  showmessage('Die Vokabel wurde gespeichert');

end;

procedure TForm1.Button8Click(Sender: TObject);
begin
 if Edeutsch.text = 'then
  begin
  showmessage('Machen sie erst eine Eingabe');
  end
 else
  begin
  if EDenglisch.text = vokabel.Englisch then
  begin
    showmessage('Die Vokabel war Richtig');
    Edenglisch.text := '';
    EDeutsch.Text := '';
  end else
  begin
    showmessage('Das war leider Falsch :-( versuche es nochmal');
    end;
  end;
end;

procedure TForm1.Button9Click(Sender: TObject);
var n: string;
begin
  n := inttostr(liste.laenge);
  if Edit1.Text > n then
   begin
   showmessage('zu hohe zahl');
   end
 else
    Edeutsch.Text := Liste.dabfragen(strtoint(Edit1.Text));
  end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  //t := 0;
  //liste := Tliste.initlist(Edenglisch.Text,EDeutsch.Text);
  Randomize;
end;

end.
Ich speichere alles in der Unit Tliste ab
(initlist, hinzufuegen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es 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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 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