Re: Adressbuch, aber...
Als was möchtest Du dich denn bewerben?
Die einfachsten Regeln sollte man aber schon beachten.
Delphi-Quellcode:
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.
for i:=1 to SG_KONTAKTE.RowCount -1 do
|
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 |
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. |
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. |
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;
|
Re: Adressbuch, aber...
Stimmt, hab ich überlesen...
|
Re: Adressbuch, aber...
Nach 2 Tagen kreativ Pause hab ich einen neuen Ansatz für die Suche:
Delphi-Quellcode:
Klappt soweit eigentlich. eigentlich.
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; 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 |
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. |
Re: Adressbuch, aber...
Zeile 208 is:
if ED_SUCHEN.Text = '' then davor ist end; |
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. |
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