AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?
Thema durchsuchen
Ansicht
Themen-Optionen

AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

Ein Thema von michaelarban · begonnen am 18. Feb 2013 · letzter Beitrag vom 19. Feb 2013
Antwort Antwort
michaelarban

Registriert seit: 8. Jun 2010
9 Beiträge
 
#1

AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 18. Feb 2013, 20:40
Delphi-Version: 2007
Hallo,


Ich verwende die Delphi-eigene Funktion AnsiStartsStr, um festzustellen, ob ein String mit '00' (2 führende Nullen) anfängt:

Bsp':

Code:
myKundenNr :='00234567341' ; // String beginnt mit 2  Nullen; String enthält nur die Ziffern 0-9

if ( AnsiStartsStr('00', myKundenNr) ) then
begin
 mache_etwas();
end
else
begin
 mache_was_anderes ();
end;
Auf meinem Computer funtkioniert es auch ordnungsgemäß , jedoch funktionert es
nicht auf einem anderen Rechner, d.h im obigen Falle wird fälschlicherweise der else-Zweig durchlaufen.

Kann es sein, dass es am Gebietsschema liegt? Aber warum denn nur, die Variable enthält keine Buchstaben/ Umlaute usw.

Geändert von michaelarban (18. Feb 2013 um 21:12 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 18. Feb 2013, 20:48
Die Funktion kenne ich nicht, vielleicht weil ich D7 habe. Sowas löse ich es mit if Pos('00', Str) = 1.
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 18. Feb 2013, 22:26
Mit Pos mach ich es auch, würde in dem Fall aber nicht gehen.
myKundenNr :='23456007341' ; Würde ja auch True ergeben. Und so wie ich das mitbekommen hab, möchte er nur die ersten beiden Zeichen auf "0" checken?!

Du könntest also auch einfach zusammenkopieren:

Delphi-Quellcode:
if (myKundenNr[1] + myKundenNr[2]) = '00then
//....
Oder was genau hast du vor? Weil warum nicht mit einem Intger arbeiten?
Dann brauchst du doch nichts umwandeln kannst leiht den Zähler erhöhen usw...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 18. Feb 2013, 22:32
Würde ja auch True ergeben.
Nicht unbedingt, denn hier wird geprüft ob Pos() = 1 ist.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#5

AW: AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 19. Feb 2013, 08:47
Vielleicht stehen da noch andere Zeichen am Anfang des Strings. Hast Du es einmal mit Trim() versucht?
if AnsiStartsStr('00', Trim(myKundenNr)) then
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
knochen

Registriert seit: 26. Aug 2009
81 Beiträge
 
Delphi 2006 Professional
 
#6

AW: AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 19. Feb 2013, 12:02
if Copy(myKundenNr, 1, 2) = '00then
A fool with a tool remains a fool.
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

AW: AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 19. Feb 2013, 12:08
[Complete-OT]
Mich erinnert das grad iwie an das da:http://www.delphipraxis.net/123215-p...umwandeln.html
[/Complete-OT]
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 19. Feb 2013, 12:17
Na ja nee eigentlich nicht, der Thread ist, ja wie soll man sagen überflüssig^^
Hier scheints ja nun win Problem zu geben, was noch nicht ganz einleuchtend ist woran es liegen könnte, da hat DeddyH schon nicht ganz unrecht, könnten vllt Vorzeichen im Spiel sein, aber warum es dann nur auf ner anderen Maschiene falsch erkannt wird ist auch merkwürdig.

Dazu muss man wohl eher mehr Code sehen, um zu wissen was noch alles passiert...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#9

AW: AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 19. Feb 2013, 12:25
Nagut hat mich nur iwie dran erinnert.
Bin grad in der Hilfe auf folgendes gestoßen:
Zitat:
LeftStr gibt die ersten ACount Zeichen des Strings AText zurück.

Anmerkung: Wenn AText ein AnsiString ist und das aktuelle Gebietsschema Multibyte-Zeichen verwendet, gibt LeftStr möglicherweise mehr als ACount Bytes zurück. Wenn eine bestimmte Anzahl Bytes zurückgegeben werden soll, verwenden Sie LeftBStr.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
moinmoin

Registriert seit: 20. Nov 2012
11 Beiträge
 
#10

AW: AnsiStartsStr: String-Zahlen, die mit '00' beginnen ?

  Alt 19. Feb 2013, 12:38
Für das "Problem" wurden schon ein paar Lösungen vorgeschlagen

Für die Lösungen wurde noch kein Problem vorgeschlagen
  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 06:51 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