Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String einen Char übergeben (https://www.delphipraxis.net/22360-string-einen-char-uebergeben.html)

Pseudemys Nelsoni 16. Mai 2004 16:16


String einen Char übergeben
 
Moin!

ich habe einen kleinen string, also 255 in der länge. Wieso geht das hier nicht:

Delphi-Quellcode:
myString[1..256] := '_';
?

Also ich möchte jedes Char des strings füllen, aber ohne extra eine for shcleife nehmen zu müssen.

jemand ne idee?

Bernhard Geyer 16. Mai 2004 16:18

Re: String einen Char übergeben
 
Probiers mal mit
Code:
FillChar(var X; Count: Integer; Value: Byte)

Duffy 16. Mai 2004 16:19

Re: String einen Char übergeben
 
Hallo Pseudemys Nelsoni,
versuch mal
Code:
myString[1..256] := PChar('_');
bzw.
Code:
myString := PChar('_');

bye
Claus

Pseudemys Nelsoni 16. Mai 2004 16:19

Re: String einen Char übergeben
 
hallo bernhard, ich benutze Turbo Pascal 7.0, sorry hab ich vergessen zu erwähnen, dort gibt es die funktion nicht

Pseudemys Nelsoni 16. Mai 2004 16:23

Re: String einen Char übergeben
 
@Duffy, nein, funktionietr leider auch nicht :(

Bernhard Geyer 16. Mai 2004 16:24

Re: String einen Char übergeben
 
Dann bastel dir halt 'ne entsprechende Funktion mit diesen Übergabeparametern:
Code:
procedure FillChar(var Dest; count: Integer; Value: Char);
var
  I: Integer;
  P: PChar;
begin
  P := PChar(@Dest);
  for I := count-1 downto 0 do
    P[I] := Value;
end;

Duffy 16. Mai 2004 16:32

Re: String einen Char übergeben
 
Hallo Pseudemys Nelsoni,
da myString ein Array of Char ist kannst höchstens ein Zeichen direkt übergeben, also
Delphi-Quellcode:
myString[1] := '_';
oder Du wenn Du alle Zeichen des Arrays mit dem einem Zeichen gefüllt haben willst
Delphi-Quellcode:
for I := Low(myString) to High(myString) do
  myString[I] := '_';
bye
Claus

nailor 16. Mai 2004 16:41

Re: String einen Char übergeben
 
Zitat:

The FillMemory function fills a block of memory with a specified value.

VOID FillMemory (

PVOID Destination, // pointer to block to fill
DWORD Length, // size, in bytes, of block to fill
BYTE Fill // the byte value with which to fill
);

The-X 16. Mai 2004 16:48

Re: String einen Char übergeben
 
Zitat:

Zitat von Pseudemys Nelsoni
hallo bernhard, ich benutze Turbo Pascal 7.0, sorry hab ich vergessen zu erwähnen, dort gibt es die funktion nicht

fillchar(buf,size,value); gibt es auch für TP7.0 hab grade nachgesehen


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 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