AGB  ·  Datenschutz  ·  Impressum  







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

String in char konvertieren

Ein Thema von Zioone · begonnen am 18. Dez 2008 · letzter Beitrag vom 18. Dez 2008
Antwort Antwort
Zioone

Registriert seit: 3. Sep 2008
49 Beiträge
 
Delphi 7 Professional
 
#1

String in char konvertieren

  Alt 18. Dez 2008, 10:40
hi,
hab da mal wieder ein Problem.

Ich wollte einen String in ein Char umwandeln.
Schön und gut, gefunden hatte ich dafür Pchar()

Nur bringt er mir jetzt eine Fehlermeldung: [Fehler] Inkompatible Typen: 'Char' und 'PAnsiChar'
Und ich habe leider keine Idee wie ich das in ein "richtiges" Char umwandeln kann.

hier mal der Code^^:

Delphi-Quellcode:
procedure TFrmInfo.SaveStringGrid(Grid: TAdvStringGrid; const FileName: TFileName);
var
  iRow: integer;
  sl: TStringList;
  ini: TIniFile;
  ss: string;
begin
  ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'settings.ini');
  sl := TStringList.Create;
  for iRow := 0 to Grid.RowCount - 1 do
  begin
    ss := ini.ReadString('settings','sptList',';');
    Grid.Rows[iRow].Delimiter := PChar(ss);
    sl.Add(Grid.Rows[iRow].DelimitedText);
  end;
  sl.SaveToFile(fileName);
  sl.Free;
  ini.free;
end;
Soll eine Stringliste in eine txt speichern und das Trennzeichen wollte ich selber festlegen.
Aber der Delimiter braucht ein char.


Ich habe auch schon die Suche benutzt und nichts brauchbares gefunden. Dort gehts immer nur um Pchar().

Wäre dankbar für eine Idee/Hilfe
Christine
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: String in char konvertieren

  Alt 18. Dez 2008, 10:42
mystringvar[1];
  Mit Zitat antworten Zitat
Zioone

Registriert seit: 3. Sep 2008
49 Beiträge
 
Delphi 7 Professional
 
#3

Re: String in char konvertieren

  Alt 18. Dez 2008, 10:53
meinst du das so:

Delphi-Quellcode:
ss[1] := ini.ReadString('settings','sptList',';');
Grid.Rows[iRow].Delimiter := PChar(ss[1]);
sl.Add(Grid.Rows[iRow].DelimitedText);
o_O?
weil das geht nicht, oder ich hab dich falsch verstanden...
Christine
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: String in char konvertieren

  Alt 18. Dez 2008, 10:54
Delphi-Quellcode:
ss := ini.ReadString('settings','sptList',';');
Grid.Rows[iRow].Delimiter := ss[1];
sl.Add(Grid.Rows[iRow].DelimitedText);
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 Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: String in char konvertieren

  Alt 18. Dez 2008, 10:55
Erwartet Grid.Rows[iRow].Delimiter wirklich ein PChar? Oder ein Char?
Wenn es nur ein Char erwartet, dann lass das PChar() weg.
Und ich glaube, Du musst das Element [0] referenzieren, wenn Du das erste Zeichen des Strings möchtest.

Gruß,
Jens
Jens
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: String in char konvertieren

  Alt 18. Dez 2008, 10:57
Zitat von Nersgatt:
Und ich glaube, Du musst das Element [0] referenzieren, wenn Du das erste Zeichen des Strings möchtest.
Delphi Distinction Criteria Fail.

In Delphi-String ist [1] das erste Element.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: String in char konvertieren

  Alt 18. Dez 2008, 10:57
Delimiter muss ein Char (ein einzelnes Zeichen) sein. Ein String kann aber aus mehreren Zeichen bestehen weswegen eine Zuweisung nicht möglich ist. Einfach String_Variable[1] zu verwenden kann ebenfalls in die Hose gehen wenn der String 0 Zeichen enthält. Entsprechend sollte man das vorher prüfen.

Und der Vollständigkeithalber: PChar ist ein Pointer auf einen Char, Also ein Pointer der auf ein Zeichen zeigt.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

Re: String in char konvertieren

  Alt 18. Dez 2008, 10:57
Zitat von jfheins:
In Delphi-String ist [1] das erste Element.
Hast mich überzeugt.
Jens
  Mit Zitat antworten Zitat
Zioone

Registriert seit: 3. Sep 2008
49 Beiträge
 
Delphi 7 Professional
 
#9

Re: String in char konvertieren

  Alt 18. Dez 2008, 10:59
oh
Danke euch es geht =)
Christine
  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 14:38 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