AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler in Delphi Pointer-Datenbank!

Ein Thema von Ashiaka · begonnen am 3. Mai 2004 · letzter Beitrag vom 3. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Ashiaka

Registriert seit: 17. Nov 2003
9 Beiträge
 
#1

Fehler in Delphi Pointer-Datenbank!

  Alt 3. Mai 2004, 21:36
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]
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: Fehler in Delphi Pointer-Datenbank!

  Alt 3. Mai 2004, 21:38
bitte delphi tags setzen,

dann ist der code besser lesbar.
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Fehler in Delphi Pointer-Datenbank!

  Alt 3. Mai 2004, 21:39
Hallo Ashiaka!

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

DANKE!

MfG Florian

[edit] ihr seit doch alle blöd! das wollte ich schreiben... [/edit]
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
3. Mai 2004, 21:39
Dieses Thema wurde von "Daniel" von "Datenbanken" nach "Sonstige Fragen zu Delphi" verschoben.
Ist kein Datenbank-Problem. Ab nach \'Sonstiges\' damit.
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Fehler in Delphi Pointer-Datenbank!

  Alt 3. Mai 2004, 21:39
Hi,
zwei Dinge:
  1. Bitte formatiere deinen SourceCode mit Hilfe der [ delphi][ /delphi]-Tags. Nachträglich kannst du das über den -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
  Mit Zitat antworten Zitat
Ashiaka

Registriert seit: 17. Nov 2003
9 Beiträge
 
#6

Re: Fehler in Delphi Pointer-Datenbank!

  Alt 3. Mai 2004, 21:47
Danke dir Daniel und ich werds mir merken ^^!

MfG, Ashiaka
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#7

Re: Fehler in Delphi Pointer-Datenbank!

  Alt 3. Mai 2004, 21:52
in deinem code stehtleer:=','; in keiner schleife , ergo trägt er immer das komma ein.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Fehler in Delphi Pointer-Datenbank!

  Alt 3. Mai 2004, 21:54
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
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Ashiaka

Registriert seit: 17. Nov 2003
9 Beiträge
 
#9

Re: Fehler in Delphi Pointer-Datenbank!

  Alt 3. Mai 2004, 22:13
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
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#10

Re: Fehler in Delphi Pointer-Datenbank!

  Alt 3. Mai 2004, 22:17
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
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:57 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