AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

String-Ende mit while finden

Ein Thema von Caps · begonnen am 12. Aug 2020 · letzter Beitrag vom 14. Aug 2020
Antwort Antwort
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#1

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:37
Delphi-Quellcode:
for i := 0 to 65535 do
  if ansistr[i] = AnsiChar(#0) then
    begin
      break;
    end;
so was?
laut Delphi Wiki
http://docwiki.embarcadero.com/Libra...tem.AnsiString
"Die Indizierung von AnsiString beginnt bei 1"
Ah, Du prüfst mit #0, ok.
Nur die Länge 65535 ist zu kurz. Meine Strings sind wesentlich länger.
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
484 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:38
Delphi-Quellcode:
for i := 0 to 65535 do
  if ansistr[i] = AnsiChar(#0) then
    begin
      break;
    end;
so was?
laut Delphi Wiki
http://docwiki.embarcadero.com/Libra...tem.AnsiString
"Die Indizierung von AnsiString beginnt bei 1"
Ah, Du prüfst mit #0, ok.
Nur die Länge 65535 ist zu kurz. Meine Strings sind wesentlich länger.
Dann nimm halt Length(ansistr)
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#3

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:39
Ok, danke, ich probiere das mit #0.
Das war die Information, die sich in der Delphi-Hilfe ein wenig versteckt ^^.

Danke und Grüße!
Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:42
Ok, danke, ich probiere das mit #0.
Das war die Information, die sich in der Delphi-Hilfe ein wenig versteckt ^^.

Danke und Grüße!
Caps
gerne, allerdings gilt das mit #0 nur bei text strings. wenn dein ansistring binär ist klappt das alles nicht.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#5

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:44
Genau, es ist nur Text.
Und den Aufruf von length wollte ich vermeiden.

Wenn lange Strings max. 2GB lang sein können, müsste LongWord als Typ für die Länge reichen, oder?
Das war meine anfängliche Sorge...
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:45
LongWord/Cardinal wäre passend.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.074 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:49
Genau, es ist nur Text.
Und den Aufruf von length wollte ich vermeiden.
Warum? Akademisches Interesse?
  Mit Zitat antworten Zitat
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#8

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:51
Genau, es ist nur Text.
Und den Aufruf von length wollte ich vermeiden.
Warum? Akademisches Interesse?
Ja ^^
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:53
Genau, es ist nur Text.
Und den Aufruf von length wollte ich vermeiden.
Warum? Akademisches Interesse?
hmm ich grübel gerade, eigentlich sollten es zwei unterschiedliche ergebnisse haben.
"Length(Text)" und "While not #0 inc(i)"
Length liefert länge vom text, incremental count liefer zusätzlich auch alles nicht-sichtbare.
Beispiel Zeilenumbrüche = 2 bytes
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
484 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

AW: String-Ende mit while finden

  Alt 12. Aug 2020, 13:39
Delphi-Quellcode:
i:=0
while i<length(ansistr) do
begin;
 inc(i);
tu irgendwas mit deinem String
end;
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:54 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