AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Anfänger Problem mit Listen

Ein Thema von Teuphil · begonnen am 15. Jan 2006 · letzter Beitrag vom 15. Jan 2006
Antwort Antwort
Teuphil

Registriert seit: 15. Jan 2006
1 Beiträge
 
#1

Anfänger Problem mit Listen

  Alt 15. Jan 2006, 15:55
Ich hab ein Problem mit meiner Telefonliste die auf Listen aufgebaut ist. (Ich weiss das es da bessere Lösungen gibt aber ich muss mit Listen arbeiten.) Irgendwie wills nicht laufen. Wenn ich auf die Button klicke passiert einfach nichts und ich weiss nicht so recht wieso. Hier der Quellcode:
Delphi-Quellcode:
unit Unit1;

interface

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

type

Variable = ^Tzeiger;
Tzeiger = record
Name : string;
Tele : string;
Mail : string ;
next : Variable;
end;



  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);

  private
    { Private-Deklarationen }


  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Anker : Variable;
  Aktuell : Variable;
implementation

{$R *.dfm}
Type Tcaption = type String;

procedure TForm1.FormActivate(Sender: TObject);
begin
 anker := nil;
 aktuell := nil;
end;


procedure boxakk;
var z : Variable;
 begin
  z:= anker;
  Form1.ListBox1.Clear;
  while (z^.next <> nil)do
     begin
     Form1.ListBox1.Items.Add(z^.Name);
     z := z^.Next;
     end;
     Form1.ListBox1.Items.Add(z^.name)
 end;


procedure suchen;
var z : Variable;
 begin
  z:= anker;
  while (z^.name <> Form1.Edit1.text) and (z^.next <> nil) do
     z := z^.Next;
     aktuell := z ;
  Form1.Label1.Caption := aktuell^.Name;
  Form1.Label2.Caption := aktuell^.Tele;
  Form1.Label3.Caption := aktuell^.Mail;
  boxakk;
 end;

procedure Add;
var
  temp,temp2: Variable;
begin
 New (temp);
  temp.Name := Form1.Edit1.Text;
  temp.Tele := Form1.Edit2.Text;
  temp.Mail := Form1.Edit3.Text;
  temp.next:= nil;
 if anker = nil
  then anker := temp
  else
   begin
    temp2:= Anker;
    while (temp2^.next <>nil) do
      temp2 := temp2^.next;
    temp2^.next:=temp;
 end;
aktuell := temp;
Form1.Label1.Caption := aktuell^.Name;
Form1.Label2.Caption := aktuell^.Tele;
Form1.Label3.Caption := aktuell^.Mail;
boxakk;
end;

procedure vor;
 begin
  if aktuell^.next <> nil then
    aktuell := aktuell^.next;
  Form1.Label1.Caption := aktuell^.Name;
  Form1.Label2.Caption := aktuell^.Tele;
  Form1.Label3.Caption := aktuell^.Mail;
  boxakk;
end;

procedure zuruck;
var z : Variable;
 begin
   z:= anker;
   while (z<>nil) and (z^.next <> aktuell) do
     z := z^.Next;
   if z <> nil then
    aktuell := z;
  Form1.Label1.Caption := aktuell^.Name;
  Form1.Label2.Caption := aktuell^.Tele;
  Form1.Label3.Caption := aktuell^.Mail;
  boxakk;
end;

procedure loschen;
var z : Variable;
 begin
  if aktuell = anker then
    begin
     anker:= aktuell^.next;
     aktuell := anker;
    end
  else
   begin
    z:=anker;
    while (z <>nil) and (z^.next <> aktuell) do
     z := z^.next;
    aktuell := z;
   end;
  Form1.Label1.Caption := aktuell^.Name;
  Form1.Label2.Caption := aktuell^.Tele;
  Form1.Label3.Caption := aktuell^.Mail;
  boxakk;
 end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Add;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
vor;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
zuruck;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
loschen;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
suchen;
end;
end.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Anfänger Problem mit Listen

  Alt 15. Jan 2006, 17:53
Hallo Teuphil,

du solltest deinen Code besser modularisieren.

Schau dir mal mein Beispiel an.

Hoffe es hilft dir weiter.

MfG
Thorsten
Angehängte Dateien
Dateityp: zip telefonliste_227.zip (2,5 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz