AGB  ·  Datenschutz  ·  Impressum  







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

Führende nullen aus einem String löschen

Ein Thema von Nalincah · begonnen am 31. Okt 2003 · letzter Beitrag vom 31. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#1

Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 13:37
Ich hab z.B. folgenden String: "0000058356"
Daraus will ich das machen: "58356"

habs mit ner while und ner for schleife versucht
und das klappt auch nicht:

value := inttostr(strtoint(value)); Gibts da evtl. ne funktion?
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 13:41
Moin Sebastian,

Du könntest es z.B. auch so machen:

while pos('0',Value) = 1 do Delete(Value,1,1); mir ist nur nicht klar, was an Deinem Beispiel nicht funktioniert.
Damit müsste das auch gehen, genau genommen sogar besser.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

Re: Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 13:42
Also bei mir geht das.

value := inttostr(strtoint(value)); Was geht den bei dir daran nich? (Fehlermeldung...)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#4

Re: Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 13:50
Ich benutze das mit dem Quickreport
hab die kompo dbtext erweitert und ein OnPrint-Ereignis erstellt.
Wenn man jetzt ein db-feld auswählt mit den nullen am anfang dann soll der im onprint ereignis die nullen löschen. hab das z.b. auch mit

Delphi-Quellcode:
for i := 0 to length(value)
begin
  if value[i] = '0then
    delete(value, i, 1)
  else
    break;
end;
Im einzelschritt zeigt der mir für "Value[i] beim ersten mal "#0" an. Was heißt das?
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 13:54
Moin Sebastian,

die Indizes eines Strings fangen bei 1 an, nicht bei 0.

Aber was funktioniert bei Dir an der von Dir geposteten Zeile nicht?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#6

Re: Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 13:56
nichts funktioniert...das der entfernt da die nullen einfach nicht. das steht das gleiche wie vorher
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#7

Re: Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 14:02
Kann mir jemand das erklären?? Das ist der Wert von i nach dem ersten durchlauf
Miniaturansicht angehängter Grafiken
komischerfehler.jpg  
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 14:07
Moin Sebastian,

Zitat von General2003:
Kann mir jemand das erklären?? Das ist der Wert von i nach dem ersten durchlauf
Zitat von Christian Seehase:
die Indizes eines Strings fangen bei 1 an, nicht bei 0.
also muss Deine Schleife auch bei 1 anfangen, und nicht bei 0.

Wie ist Value deklariert. So recht erklären kann ich mir das so nicht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#9

Re: Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 14:11
Ich starte die Schleife doch mit i = 1
Guck mal genau...

So sieht der Kopf der Proc. aus:

procedure TQRDBTextNull.MyOnprint(sender: TObject; var Value: String);
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#10

Re: Führende nullen aus einem String löschen

  Alt 31. Okt 2003, 14:13
Ich hab noch 'nen anderen komischen Fehler - kein do. (for to do)

Wenn ich so was machen meckert mein Compiler, deiner anscheinend nicht.
Oder sehe ich da was nicht?
Miniaturansicht angehängter Grafiken
komischerfehler2.jpg  
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 14:55 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