AGB  ·  Datenschutz  ·  Impressum  







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

Variable ist plötzlich anders

Ein Thema von H.Bothur · begonnen am 6. Jun 2017 · letzter Beitrag vom 7. Jun 2017
Antwort Antwort
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
259 Beiträge
 
Delphi 11 Alexandria
 
#1

Variable ist plötzlich anders

  Alt 6. Jun 2017, 15:36
Delphi-Version: 10 Berlin
Sorry - besser kann ich es bnicht beschreiben Ich habe hier ein Stringgrid das einfach von oben nach unten durchgelaufen wird.
Wenn das Feld Kundennummer der übergebenen Kundennummer entspricht soll es, wenn zwei weitere Felder übereinstimmen die Daten ausgeben.
Im Prinzip sehr einfach ... aber plötzlich ist die KundenNummer nach der gesucht wird eine andere:

Delphi-Quellcode:
procedure TUKunden.FirstKundenSuchen(KundenNummer: String; var KName1, KName2, KStrasse, KLand, KPLZ, KOrt, KTelefax, KEmail, KVertreter, KRnEmail: String);
var
  i: Integer;
begin
  for i := 0 to UKunden.KundenSpeicherSG.RowCount -1 do
  begin
    if (KundenNummer = UKunden.KundenSpeicherSG.Cells[CKundenNr, i]) then [COLOR="Red"]// <- hier wird nach Kundennummer 12652 gesucht[/COLOR]
    begin
      if (UKunden.KundenSpeicherSG.Cells[CKundenRNAnschrift, i] = (UKunden.KundenSpeicherSG.Cells[CKundenLfdNr, i])) then [COLOR="Red"]// -< und hier ist der Inhalt von KundenNummer plötzlich 14109[/COLOR]
      begin
        KName1 := UKunden.KundenSpeicherSG.Cells[CKundenName1, i];
        KName2 := UKunden.KundenSpeicherSG.Cells[CKundenName2, i];
        KStrasse := UKunden.KundenSpeicherSG.Cells[CKundenStr, i];
        KLand := UKunden.KundenSpeicherSG.Cells[CKundenLand, i];
        KPLZ := UKunden.KundenSpeicherSG.Cells[CKundenPLZ, i];
        KOrt := UKunden.KundenSpeicherSG.Cells[CKundenOrt, i];
        KTelefax := UKunden.KundenSpeicherSG.Cells[CKundenTelefax, i];
        KEmail := UKunden.KundenSpeicherSG.Cells[CKundenEMail, i];
        KVertreter := UKunden.KundenSpeicherSG.Cells[CKundenVertreter, i];
        KRnEmail := UKunden.KundenSpeicherSG.Cells[CKundenRnEMail, i];
        exit;
      end;
    end;
  end;
  KName1 := 'Keine Daten gefunden ! '; (* Kann eigentlich nicht vorkommen :-D *)
end;
In der Routine ändere ich nicht den Inhalt von KundenNummer.
Es wird auch keine andere Routine aufgerufen.
Hinweise und Warnungen auf Laufzeitfehler sind eingeschaltet.

Hier in Debugger-Exceptions hatte ich schonmal "komische" Probleme mit dem Programm - nur wie finde ich den Fehler wenn ich keine Exception bekomme ?

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Variable ist plötzlich anders

  Alt 6. Jun 2017, 15:43
fehlen da nicht ein paar else ?

Delphi-Quellcode:
if (KundenNummer = UKunden.KundenSpeicherSG.Cells[CKundenNr, i]) then
  [COLOR="Red"]
end else
begin
.....

if (UKunden.KundenSpeicherSG.Cells[CKundenRNAnschrift, i] = (UKunden.KundenSpeicherSG.Cells[CKundenLfdNr, i])) then
[COLOR="Red"]
end else
begin
....

gruss
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
259 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Variable ist plötzlich anders

  Alt 6. Jun 2017, 15:56
Moin,

eigentlich ja nicht .... denn entweder er findet Daten (dann greift das Exit) oder er findet nicht und dann läuft er die Schleife komplett durch. Ich hab das ganze nochmal etwas verkürzt:

Delphi-Quellcode:
procedure IchBinKomisch(KundenNummer: String; var Rueckgabewert: String);
var
  i: Integer;

begin
  for i := 0 to UKunden.KundenSpeicherSG.RowCount -1 do
  begin
    if (KundenNummer = StringGrid[1, i]) then
    begin
      if (StringGrid[2, i] = (StringGrid[3, i])) then
      begin
        Rueckgabewert := 'Gefunden';
        exit;
      end;
    end;
  end;
  Rueckgabewert := 'Keine Daten gefunden ! '; (* Kann eigentlich nicht vorkommen :-D *)
end;
Wobei ... ioch glaube eigentlich nicht das es an dieser Routine liegt Aber wo suchen ??

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Variable ist plötzlich anders

  Alt 6. Jun 2017, 15:57
ja sorry war Schwachsinn von mir..
Da hilft nur durchsteppen.. also breakpoint setzen und den index "i" prüfen.

gruss
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Variable ist plötzlich anders

  Alt 6. Jun 2017, 16:09
Läuft das ganze in einem Thread oder gibt es noch eine globale/Klassen-Variable, die KundenNummer heisst?
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
259 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Variable ist plötzlich anders

  Alt 6. Jun 2017, 16:16
Ganz normales Programm - und Kundennummer als Variable gibt es auch nur in dieser Routine.

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
Antwort Antwort


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