AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi noob frage: array [0..259] of char in string un umgekehrt
Thema durchsuchen
Ansicht
Themen-Optionen

noob frage: array [0..259] of char in string un umgekehrt

Ein Thema von Weazy · begonnen am 30. Aug 2007 · letzter Beitrag vom 1. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#1

noob frage: array [0..259] of char in string un umgekehrt

  Alt 30. Aug 2007, 23:32
Eine komponente die ich benutze hat ein property mit dem typ array [0..259] of char. Dieses property möchte ich nun schreiben und lesen. Hier ist mein versuch, doch es klappt irgendwie nicht so ganz...

Delphi-Quellcode:
function CharToStr(chr: array [0..259] of char):string;
var
i:integer;
begin
for i:=0 to 259 do
result[i]:=chr[i];
end;

function StrToChar(str:string):array [0..259] of char;
var
i:integer;
begin
for i:=0 to 259 do
result[i]:=str[i];
end;
Philippe Wechsler
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: noob frage: array [0..259] of char in string un umgeke

  Alt 30. Aug 2007, 23:34
Bei CharToStr erst noch ein setlength(result, length(chr));

Aber eigentlich müsste das auch als direkte Zuweisung funktionieren, also Result:=chr; und umgekehrt.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#3

Re: noob frage: array [0..259] of char in string un umgeke

  Alt 31. Aug 2007, 00:16
Array of char is doch das Gleiche wie String oder?

@3_of_8: SetLength bei vorgegebener Größe von 260? Is das nich nur für dynamische Arrays?
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.891 Beiträge
 
Delphi 12 Athens
 
#4

Re: noob frage: array [0..259] of char in string un umgeke

  Alt 31. Aug 2007, 01:00
Du bekommst schon alleine deshalb Probleme, weil die Indizierung von Strings bei 1 beginnt und nicht wie von Dir gecoded bei 0.

Gruß

onlinekater

BTW: Was ist das für eine Komponente? Es wird ja sicherlich seinen Grund haben, dass ein solches array of char verwendet wird. Sollte es womöglich passieren können, dass ein Element dieses Arrays #0 ist? Dann wäre mit erreichen dieses Elementes der String automatisch zu Ende.
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: noob frage: array [0..259] of char in string un umgeke

  Alt 31. Aug 2007, 01:51
@Rastaman: Sein Rückgabetyp ist ein String, kein String[260]. Und er kann nicht einfach in einen String mit noch nicht zugewiesenem Speicher schreiben, weil ein Leerstring nämlich standardmäßig auf nil zeigt. Und ein array of Char ist nicht ganz das gleiche wie ein String. Es ist im Speicher fast das gleiche, aber die Compiler Magic schlägt beim String mehr zu und außerdem hängt an Strings immer noch ein #0 dran.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: noob frage: array [0..259] of char in string un umgeke

  Alt 31. Aug 2007, 02:19
Zitat von Weazy:
..array [0..259] of char... doch es klappt irgendwie nicht so ganz...
Wie üblich wurde die genaue Fehlermeldung unterschlagen und dann die Frage gestellt. 8) Wundert mich allerdings, dass keiner bemerkt hat, dass der Wert nicht im Bereich von 0..255 liegt, sondern darüber hinausgeht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#7

Re: noob frage: array [0..259] of char in string un umgeke

  Alt 31. Aug 2007, 03:19
Zitat von Hansa:
Wundert mich allerdings, dass keiner bemerkt hat, dass der Wert nicht im Bereich von 0..255 liegt, sondern darüber hinausgeht.
Mich nicht, weil vielleicht MAX_PATH (260 Zeichen) von der Komponente verwendet wird.



Delphi-Quellcode:
type
  TChr=array[0..259] of char;

function CharToStr(chr: TChr):string;
begin
   Result:=Chr;
end;

function StrToChar(str:string):TChr;
begin
   StrPLCopy(Result, Str, 260);
end;
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: noob frage: array [0..259] of char in string un umgeke

  Alt 31. Aug 2007, 03:25
Dann wundert Dich das wohl auch kaum :

Zitat von Weazy:
for i:=0 to 259 do
result[i]:=chr[i];
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#9

Re: noob frage: array [0..259] of char in string un umgeke

  Alt 31. Aug 2007, 03:43
Das wurde 1. schon angesprochen, 2. von mir nicht weiter verwendet und wär 3. ne (umständliche) Möglichkeit, wenn wie bereits gesagt SetLength verwendet und der kleine Fehler korrigiert würde...

Delphi-Quellcode:
for i:=0 to 259 do
result[i+1]:=chr[i];
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: noob frage: array [0..259] of char in string un umgeke

  Alt 31. Aug 2007, 03:47
Welches Zeichen ergibt denn : ch := chr (259); Macht das Sinn ?
Gruß
Hansa
  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 00:41 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