Einzelnen Beitrag anzeigen

roadrunner-S51

Registriert seit: 28. Mai 2010
53 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Änderung einer Variablen bewirkt Änderung des Feldinhalts

  Alt 15. Mai 2013, 09:27
Also der Fehler tritt an der folgenden Stelle auf:
Delphi-Quellcode:
for i := 0 to Zaehlung - 1 do
  begin
    AusFeld[i].iSchrank := FeldPlatz[i].SchrankNr;
    AusFeld[i].iAusschub := FeldPlatz[i].AusschubNr;
    AusFeld[i].iFach := FeldPlatz[i].FachNr;
    AusFeld[i].iTuete := FeldPlatz[i].PackNr;
    AusFeld[i].iStueckTuete := FeldPlatz[i].Stueck;
    AusFeld[i].Datum := FeldPlatz[i].Datum;

    // In diesem Abschnitt tritt der Fehler auf 14.05.2013
    if (AusFeld[i].iFach >= 0) and (AusFeld[i].iFach < 10) then
      sHelp1 := '000' + IntToStr(AusFeld[i].iFach);
    if (AusFeld[i].iFach > 9) and (AusFeld[i].iFach < 100) then
      sHelp1 := '00' + IntToStr(AusFeld[i].iFach);
    if (AusFeld[i].iFach > 99) and (AusFeld[i].iFach < 1000) then
      sHelp1 := '0' + IntToStr(AusFeld[i].iFach);
    if AusFeld[i].iFach > 999 then
      sHelp1 := IntToStr(AusFeld[i].iFach);

    if (AusFeld[i].iTuete >= 0) and (AusFeld[i].iTuete < 10) then
      sHelp2 := '0000' + IntToStr(AusFeld[i].iTuete);
    if (AusFeld[i].iTuete > 9) and (AusFeld[i].iTuete < 100) then
      sHelp2 := '000' + IntToStr(AusFeld[i].iTuete);
    if (AusFeld[i].iTuete > 99) and (AusFeld[i].iTuete < 1000) then
      sHelp2 := '00' + IntToStr(AusFeld[i].iTuete);
    if AusFeld[i].iTuete > 9999 then
      sHelp2 := IntToStr(AusFeld[i].iTuete);
    AusFeld[i].Barcode := sHelp1 + sHelp2;
  end;
Dabei ist "Zählung" die Größe des Feldes "AusFeld", mit welchem hier gearbeitet wird. Die Strings sind lokale Variablen. Das große Feld, welches ich in einem vorherigen Post erwähnte, Name "Speicher", wird hier nicht verwendet, aber dennoch verändert.
  Mit Zitat antworten Zitat