Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Adressbuch, aber... (https://www.delphipraxis.net/131979-adressbuch-aber.html)

roga 4. Apr 2009 13:43

Re: Adressbuch, aber...
 
Als was möchtest Du dich denn bewerben?

Die einfachsten Regeln sollte man aber schon beachten.

Delphi-Quellcode:
for i:=1 to SG_KONTAKTE.RowCount -1 do
Kreatives Denken, zuerst nach eigenen Lösungen suchen und vor allem auch mal die Hilfe studieren und die Suche in Foren nutzen. Ansonsten schließe ich mich der Meinung von Matze an.

Wessiiii 4. Apr 2009 13:50

Re: Adressbuch, aber...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ausbildung als Anwendungsentwickler

Dass mit dem -1 ist mir auch eben aufgefallen ^^

Die Hilfe hat mich bei meinem Problem auch nicht wirklich weiter gebracht.
Bei Google hab ich nur was von nem "CLass Crack" gelesen, was mir auch nicht wirklich geholfen hat.

Hab mal alle datein als Anhang hinzugefügt. Immer wenn ich auf "X" gehe (beenden) kommt ein Fehler, aber ich weiss nicht so recht warum, war eben noch nicht oO

quendolineDD 4. Apr 2009 14:43

Re: Adressbuch, aber...
 
Weiterhin wäre es auch hilfreich, den "Fehler" bei seinem Namen und Erscheinungsbild zu benennen. Es ist immer äußerst hilfreich und auch meist aufgrund des Fehlernamens ersichtlich, woraus dieser resultiert.

Edit:
Wenn man im "Kontakt Hinzufügen"-Dialog auf abbrechen drückt, wird trotzdem der RowCount des Stringgrids erhöht.
Edit2:
Und die Variante mit erst den Pfad aus einer Datei holen finde ich auch nicht schick. Zumal es die Datei bei mir nicht gibt und deswegen andauernd eine Exception kommt.
Edit3:
Bei mir kommt kein Fehler. Will jetzt aber ohne näheres zu wissen auch nicht weiter schauen.

Wessiiii 4. Apr 2009 15:19

Re: Adressbuch, aber...
 
Also als Fehler gibt er mir:

EAccessViolation bei 00001C5F und
RuntimeError 216 at 00403A32 zurück.

Zu Edit 1:
Ja, aber ich vertshe nicht warum, denn es steht ja garnicht RowCounnt + 1 in der Button Prozedur.

Zu Edit2:
Einen anderen Weg kenn ich nicht ^^

Zu Edit3:
s. o.

quendolineDD 4. Apr 2009 15:28

Re: Adressbuch, aber...
 
Doch. Und zwar schreibst du im OnClose-Event der Unit3 folgendes
Delphi-Quellcode:
Form1.SG_KONTAKTE.RowCount := Form1.SG_KONTAKTE.RowCount + 1;

Wessiiii 4. Apr 2009 15:32

Re: Adressbuch, aber...
 
Stimmt, hab ich überlesen...

Wessiiii 6. Apr 2009 17:08

Re: Adressbuch, aber...
 
Nach 2 Tagen kreativ Pause hab ich einen neuen Ansatz für die Suche:

Delphi-Quellcode:
procedure TForm1.ED_SUCHENChange(Sender: TObject);
begin
        for i:=1 to SG_KONTAKTE.RowCount+1 do
                begin
                SG_KONTAKTE.Cells[0, i] := '';
                SG_KONTAKTE.Cells[1, i] := '';
                end;

        for i:=0 to high(kontakte) do
                begin
                if (ED_SUCHEN.Text = kontakte[i].Vorname[length(ED_SUCHEN.Text)]) OR
                   (ED_SUCHEN.Text = kontakte[i].Nachname[length(ED_SUCHEN.Text)]) then
                        begin
                        ff := ff + 1;
                        SG_KONTAKTE.Cells[0, ff] := Kontakte[i].Nachname;
                        SG_KONTAKTE.Cells[1, ff] := Kontakte[i].Vorname;
                        end
                        else
                        end;
                if i=high(kontakte) then
                        begin
                        MessageDlg('Keine Übereinstimmung gefunden', mtError, [mbOK], 0);
                        end;
                end;


    [color=#ff001f]          if ED_SUCHEN.Text = '' then[/color]
                        begin
                        for i:=0 to High(kontakte) do
                                begin
                                Form1.SG_KONTAKTE.Cells[0, i+1] := Kontakte[i].Nachname;
                                Form1.SG_KONTAKTE.Cells[1, i+1] := Kontakte[i].Vorname;
                        end;
Klappt soweit eigentlich. eigentlich.
Denn wenn man mehr als ein Zeichen im Edit Feld eingibt, löscht er einfach alles ^^

Bei der rot makierten IF Bedingung, sagt er mir immer "[Fehler] Unit1.pas(208): Deklaration erwartet, aber 'IF' gefunden".
Versteh aber nicht ganz warum oO

quendolineDD 6. Apr 2009 17:11

Re: Adressbuch, aber...
 
Welche Zeile ist denn bei dir im Quellcode Zeile 208?
Schau dir doch einfach mal die Zeilen davor an. Meist liegt dort der Fehler.

Wessiiii 6. Apr 2009 17:33

Re: Adressbuch, aber...
 
Zeile 208 is:

if ED_SUCHEN.Text = '' then

davor ist end;

jaenicke 6. Apr 2009 18:15

Re: Adressbuch, aber...
 
Du hast da beiden ifs jedesmal ein end zu viel. ;-) Ich rücke einmal richtig ein:
Delphi-Quellcode:
procedure TForm1.ED_SUCHENChange(Sender: TObject);
begin
  for i:=1 to SG_KONTAKTE.RowCount+1 do
  begin
    SG_KONTAKTE.Cells[0, i] := '';
    SG_KONTAKTE.Cells[1, i] := '';
  end;

  for i:=0 to high(kontakte) do
  begin
    if (ED_SUCHEN.Text = kontakte[i].Vorname[length(ED_SUCHEN.Text)]) OR
      (ED_SUCHEN.Text = kontakte[i].Nachname[length(ED_SUCHEN.Text)]) then
    begin
      ff := ff + 1;
      SG_KONTAKTE.Cells[0, ff] := Kontakte[i].Nachname;
      SG_KONTAKTE.Cells[1, ff] := Kontakte[i].Vorname;
    end
    else // Wofür?
  end; // Wofür?
  if i=high(kontakte) then
  begin
    MessageDlg('Keine Übereinstimmung gefunden', mtError, [mbOK], 0);
  end;
end;
// Hier ist die Prozedur zu Ende!

if ED_SUCHEN.Text = '' then
begin
  for i:=0 to High(kontakte) do
  begin
    Form1.SG_KONTAKTE.Cells[0, i+1] := Kontakte[i].Nachname;
    Form1.SG_KONTAKTE.Cells[1, i+1] := Kontakte[i].Vorname;
  end;


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

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