Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler in Delphi Pointer-Datenbank! (https://www.delphipraxis.net/21497-fehler-delphi-pointer-datenbank.html)

Ashiaka 3. Mai 2004 21:36


Fehler in Delphi Pointer-Datenbank!
 
Hi Community!
Wenn ich den folgenden Quellcode bei mir in Delphi ausführe, und in die btnHinzufuegenClick Prozedur anwähle, so funktioniert sie nicht richtig! Anstatt, dass diese den
Nachnamen + Vornamen reinsetzt, setzt sie nur ein Komma (,) rein!
Ich hab allerdings keine Ahnung wieso!?



Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    lbxAusgabe: TListBox;
    btnErsteingabe: TButton;
    btnHinzufuegen: TButton;
    procedure btnErsteingabeClick(Sender: TObject);
    procedure btnHinzufuegenClick(Sender: TObject);

    end;

    Pointertyp = ^Schuelertyp;
    Schuelertyp = record
                  Nachname, Vorname, Name : String;
                  Nach : Pointertyp;

  end;

var
  Form1: TForm1;
  Kopf, Vor, Zeiger : Pointertyp;
  Pos : Integer;
implementation

{$R *.DFM}

procedure Eingabe(var Neu : Pointertyp);
begin
 new(Neu);
 Kopf^.Nachname := InputBox('Nachname:','Eingabe:','');
 Kopf^.Vorname := InputBox('Vorname:','Eingabe:','');
end;


procedure TForm1.btnErsteingabeClick(Sender: TObject);
var Leer : String;
       I : Integer;
begin
 Eingabe(Kopf);
 Kopf^.Nach := nil;
 Leer := ',';
 For I := 1 to (13 - length(Kopf^.Nachname)) do Leer := Leer + ' ';
 lbxAusgabe.Items.Add(Kopf^.Nachname + Leer + Kopf^.Vorname);
end;

procedure TForm1.btnHinzufuegenClick(Sender: TObject);
var Neu : Pointertyp;

procedure Suchen(Zeiger : Pointertyp; var Vor : Pointertyp);
begin
 while (Zeiger <> nil) and (Zeiger^.Nachname < Neu^.Nachname) do
 begin
  Vor := Zeiger;
  Zeiger := Vor^.Nach;
 end;
end;

procedure Einfuegen(Vor : Pointertyp);
var Leer : String;
       I : Integer;
begin
 if Kopf^.Nachname > Neu^.Nachname
 then begin
  Neu^.Nach := Kopf;
  Kopf := Neu;
 end
 else begin
  Neu^.Nach := Vor^.Nach;
  Vor^.Nach := Neu;
 end;
 Leer := ',';
 For I := 1 to (13 - length(Neu^.Nachname)) do Leer := Leer + ' ';
 lbxAusgabe.Items.Add(Neu^.Nachname + Leer + Neu^.Vorname);
end;

begin
Eingabe(Neu);
Suchen(Kopf, Vor);
Einfuegen(Vor);
end;

end.
[edit=Admin]Delphi-Tags gesetzt. Künftig bitte selber machen. ;-) Mfg, Daniel[/edit]

kiar 3. Mai 2004 21:38

Re: Fehler in Delphi Pointer-Datenbank!
 
bitte delphi tags setzen,

dann ist der code besser lesbar.

flomei 3. Mai 2004 21:39

Re: Fehler in Delphi Pointer-Datenbank!
 
Hallo Ashiaka! :dp:

Verwende doch bitte die Tags [ delphi ] und [ /delphi ] (ohne Leerzeichen) um deinen Code zu formatieren...

DANKE!

MfG Florian :hi:

[edit] ihr seit doch alle blöd! ;) das wollte ich schreiben... :( [/edit]

DP-Maintenance 3. Mai 2004 21:39

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Datenbanken" nach "Sonstige Fragen zu Delphi" verschoben.
Ist kein Datenbank-Problem. Ab nach \'Sonstiges\' damit.

CalganX 3. Mai 2004 21:39

Re: Fehler in Delphi Pointer-Datenbank!
 
Hi,
zwei Dinge:
  1. Bitte formatiere deinen SourceCode mit Hilfe der [ delphi][ /delphi]-Tags. Nachträglich kannst du das über den http://www.delphipraxis.net/template.../icon_edit.gif-Button oben rechts über deinem Post machen.
  2. Bitte hänge längere SourceCode-Teile als Attachment an (bspw. als PAS-Datei). Oder poste nur die Stellen, die wirklich wichtig sind.

Danke,
Chris

Ashiaka 3. Mai 2004 21:47

Re: Fehler in Delphi Pointer-Datenbank!
 
Danke dir Daniel und ich werds mir merken ^^!

MfG, Ashiaka

kiar 3. Mai 2004 21:52

Re: Fehler in Delphi Pointer-Datenbank!
 
in deinem code steht
Delphi-Quellcode:
leer:=',';
in keiner schleife , ergo trägt er immer das komma ein.

raik

SirThornberry 3. Mai 2004 21:54

Re: Fehler in Delphi Pointer-Datenbank!
 
wo ist neu definiert?
Delphi-Quellcode:
[...]
begin
Eingabe(Neu);
Suchen(Kopf, Vor);
Einfuegen(Vor);
end;
[...]
Siehst du überhaupt noch durch?? Würde ja gerne helfe, aber das ist alles so wirr geschrieben das ich da nicht durchsehe

Ashiaka 3. Mai 2004 22:13

Re: Fehler in Delphi Pointer-Datenbank!
 
Delphi-Quellcode:
lbxAusgabe.Items.Add(Neu^.Nachname + Leer + Neu^.Vorname);
Dies wird ja in die Listbox eingetragen und nicht bloß Leer! Denke, ich zumindest!


Neu ist der Name des Datensatzes/ der Datenbank!

MfG, Ashiaka

kiar 3. Mai 2004 22:17

Re: Fehler in Delphi Pointer-Datenbank!
 
Delphi-Quellcode:
Leer := ',';
For I := 1 to (13 - length(Neu^.Nachname)) do Leer := Leer + ' ';
lbxAusgabe.Items.Add(Neu^.Nachname + Leer + Neu^.Vorname);
end;
Delphi-Quellcode:
Leer := ',';
For I := 0 to (13 - length(Neu^.Nachname)-1) do
   begin
     Leer := Leer + ' ';
     lbxAusgabe.Items.Add(Neu^.Nachname + Leer + Neu^.Vorname);
   end;
end;
index fängt immer mit null an

mann da fehlt ja noch ein begin :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 Uhr.
Seite 1 von 2  1 2      

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