AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String in Char umwandeln

Ein Thema von Lucifer · begonnen am 2. Jul 2008 · letzter Beitrag vom 3. Jul 2008
Antwort Antwort
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#1

String in Char umwandeln

  Alt 2. Jul 2008, 22:25
Hallo



Also das ist nicht das erste mal das man dies fragt und ich habe auch gesucht.
Nur brauche ich für die UnRar ja einen Filename welcher ein Array of Char ist.

Ich habe eine Listbox auf der Form und die einzelnen Zeilen werden ja über lb.Items[] angesprochen.
Das Problem ist dass es sich dabei um Strings handelt.

Nun wie soll ich es am besten anstellen:

Ich möchte auf die Listbox Items clicken und danach die Datei auspacken welche ich ausgewählt habe.
Aber wie gesagt es ist ein Array of Char und Items sind Strings
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: String in Char umwandeln

  Alt 2. Jul 2008, 22:27
Mal versucht, den String in einen PChar zu casten?
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
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#3

Re: String in Char umwandeln

  Alt 2. Jul 2008, 22:32
sagt mir inkompatibel Array und PAnsiChar
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: String in Char umwandeln

  Alt 2. Jul 2008, 22:34
Wie muss das denn aussehen? Zeig doch mal die Signatur der aufgerufenen Funktion.
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
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

Re: String in Char umwandeln

  Alt 3. Jul 2008, 16:17
Hallo Lucifer,

versuch mal folgendes:

Delphi-Quellcode:
var
  car: packed array [1..255] of char;
  s1 : string;
  s2 : string[255];
...
  car:=s1;
oder ...
  car:=s2
oder ...
  move(s2[1],car[1],length(s2);
je nachdem mit welcher Delphi-Version du arbeitest sollte da etwas funktionierendes dabei sein.
Bei den shortStrings hat bei mir soetwas auch meistens geklappt.

Mit den AnsiStrings habe ich soetwas noch nicht ausprobiert aber für Dateinamen reichen die 255 Zeichen wohl auch aus.

Gruß
K-H
  Mit Zitat antworten Zitat
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#6

Re: String in Char umwandeln

  Alt 3. Jul 2008, 17:43
funktioniert auch nicht:

Delphi-Quellcode:
RARHeaderData = packed record
    ArcName: packed array[0..Pred(260)] of Char;
    FileName: packed array[0..Pred(260)] of Char;
    Flags: UINT;
    PackSize: UINT;
    UnpSize: UINT;
    HostOS: UINT;
    FileCRC: UINT;
    FileTime: UINT;
    UnpVer: UINT;
    Method: UINT;
    FileAttr: UINT;
    CmtBuf: PChar;
    CmtBufSize: UINT;
    CmtSize: UINT;
    CmtState: UINT;
so sieht das eigentlich aus
und ich benötige die Filename

aber wie gesagt was in einer Lisbtox steht ist String
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: String in Char umwandeln

  Alt 3. Jul 2008, 17:50
Mit StrPCopy sollte es gehen. Kleines Beispiel:
Delphi-Quellcode:
type TMyRec = packed record
  sTest: packed array[0..Pred(260)] of Char;
end;

procedure TForm1.FormCreate(Sender: TObject);
var MyRec: TMyRec;
begin
  FillChar(MyRec, SizeOf(MyRec),#0);
  StrPCopy(MyRec.sTest,'Tach auch');
  ShowMessage(MyRec.sTest);
end;
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
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#8

Re: String in Char umwandeln

  Alt 3. Jul 2008, 18:04
tut mir leid ich habs versucht doch trotzdem will es nicht

Delphi-Quellcode:

  FillChar(MyRec, SizeOf(MyRec),#0);
  StrPCopy(MyRec.sTest,'test');

  RarHeader.FileName:=MyRec.sTest;
DCC Fehler E2008 Inkompatible Typen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: String in Char umwandeln

  Alt 3. Jul 2008, 18:09
Du musst ja auch mit StrPCopy den String in das Feld des Records kopieren. Mein Beispiel hatte nichts mit Deinem Record zu tun.
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
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#10

Re: String in Char umwandeln

  Alt 3. Jul 2008, 18:58
Vielen Dank es hat geklappt um den String einzutragen.
Ich danke dir wikrlich Vielmals
  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 16:07 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