Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Füllstand eines Arrays ermitteln? (https://www.delphipraxis.net/182831-fuellstand-eines-arrays-ermitteln.html)

divBy0 21. Nov 2014 09:43

AW: Füllstand eines Arrays ermitteln?
 
Was spricht dann gegen

Delphi-Quellcode:
const
  MyString = 'Hallo Welt...';

var
  MyStringLength: Integer;

MyStringLength := Length(MyString);
?

Mavarik 21. Nov 2014 10:37

AW: Füllstand eines Arrays ermitteln?
 
Na das ist ja wieder mal ein Glaskugel Thread...
Wie wäre es, wenn Du uns mal sagst:

A.) Was du hast
B.) Was du erreichen willst
C.) Zur Unterstützung der Frage ein bisschen Source

Mavarik...

:stupid: Array Slots... habe ich auch noch nicht gehört...Man(n) lernt nie aus.

Bjoerk 21. Nov 2014 11:12

AW: Füllstand eines Arrays ermitteln?
 
So schlimm isses nun auch wieder nicht? Die Idee mit dem #0 von #15 finde ich übrigens besser als meine Variante.

Delphi-Quellcode:
const
  cMaxCharCount = 100;

type
  TCharArray = array [0..cMaxCharCount - 1] of char;

..

function StrToCharArray(const S: string): TCharArray;
var
  I: integer;
begin
  for I := 1 to Length(S) do
    Result[I - 1] := S[I];
  Result[Length(S)] := #0;
end;

function CharArrayToStr(const Value: TCharArray): string;
var
  I: integer;
begin
  SetLength(Result, StrLen(Value));
  for I := 0 to StrLen(Value) - 1 do
    Result[I + 1] := Value[I];
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  A: TCharArray;
begin
  A := StrToCharArray('Hallo');
  Showmessage(Format('%s %d', [CharArrayToStr(A), StrLen(A)]));
  Showmessage(Format('%s %d', [CharArrayToStr(A), Length(CharArrayToStr(A))]));
end;

Jumpy 21. Nov 2014 11:52

AW: Füllstand eines Arrays ermitteln?
 
Zitat:

Zitat von Mavarik (Beitrag 1280581)
:stupid: Array Slots... habe ich auch noch nicht gehört...Man(n) lernt nie aus.

Halb-Ernsthafte Frage:

Was sagt man denn dazu? Items heißen die Dinger bei einer Irgendwas-List, aber beim Array?
Positionen?

Edit: Elemente geht. Danke Google.

p80286 21. Nov 2014 12:49

AW: Füllstand eines Arrays ermitteln?
 
Vielleicht währe es sinnvoll zu erfahren was der TE eigentlich will, sonst diskutieren wir gleich die unterschiedliche interpretation von Ansi- und wide-Chars in einem array of Byte unter Beachtung der unterschiedlichen API-schnittstellen......


Gruß
K-H

wonkos2 21. Nov 2014 13:24

AW: Füllstand eines Arrays ermitteln?
 
Hm, nicht ganz. Die Länge eines Strings mit Length(zeichenkette) zu bestimmen ist ja relativ einfach. Aber wie sieht das Array nach dem Kopieren aus? Werden die abchließenden zwei Zeichen #0 #0 mitkopiert oder nicht? Was steht im Rest des Arrays, wenn es einmal deklariert wurde? Datenmüll oder #0?

mkinzler 21. Nov 2014 13:42

AW: Füllstand eines Arrays ermitteln?
 
Kommt darauf an, wie Du kopierst. Bei Verwendung von StrPCopy wird nur ein #0 kopiert.

Im Rest des ZielArrays steht dann Datenmüll), sollte aber egal sein, wenn das c konforme EOS beachtet wird.

Auf Implementierungsdetails ( #0#0) sollte man sich zudem aber nie verlassen.

http://docwiki.embarcadero.com/Libra...rings.StrPCopy

p80286 21. Nov 2014 13:57

AW: Füllstand eines Arrays ermitteln?
 
Zitat:

Zitat von wonkos2 (Beitrag 1280622)
Aber wie sieht das Array nach dem Kopieren aus?

Das ist ja ganz was neues, kannst Du bitte noch einmal formulieren, was Du eigentlich (erreichen) willst!

Bis jetzt interpretiere ich es so, daß Du einen externen Puffer mit Daten füllen willst??

Gruß
K-H

Sir Rufo 21. Nov 2014 14:26

AW: Füllstand eines Arrays ermitteln?
 
Das "Wofür" muss streng geheim sein, denn das wurde schon mehrfach gefragt - Reaktion = 0 :roll:

wonkos2 24. Nov 2014 09:05

AW: Füllstand eines Arrays ermitteln?
 
Herzlichen Dank für Eure Beiträge! Der Kommentar von Bjoerk brachte mich auf die richtige Spur. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr.
Seite 3 von 3     123   

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 by Thomas Breitkreuz