AGB  ·  Datenschutz  ·  Impressum  







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

String in Char....

Offene Frage von "delphinia"
Ein Thema von delphinia · begonnen am 13. Feb 2007 · letzter Beitrag vom 13. Feb 2007
Antwort Antwort
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#1

String in Char....

  Alt 13. Feb 2007, 01:14
Mein Code:

Delphi-Quellcode:

type
  TInfo = packed record
    lvfi: TLVFindInfo;
Name : array [0..120] of char;
  end;

var
s:String;

info.Name := 'Desktop';
Das geht ohne Probleme aber NICHT
info.Name := s; dann bekomme ich Meldung

Inkompatible Typen: 'Array' und 'String'


Hat jemand eine Lösung?!
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Hansa

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

Re: String in Char....

  Alt 13. Feb 2007, 02:07
Wertzuweisungen müssen im konkrten Fall an die Array-Elemente gemacht werden und nicht an das Array an sich. Die Elemente sind aber strings. Und ein Array ist eben ein Array.

Delphi-Quellcode:
// das geht beides :
info.Name [1] := 'Desktop';
info.Name [120] := s;

// so was aber nicht mehr :
info.Name [121] := 'Desktop';
P.S.: die Elemente sind ja gar keine Strings, sondern nur Char. Tja ein String ist eine art Array of char.
Gruß
Hansa
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: String in Char....

  Alt 13. Feb 2007, 02:14
Sorry! Aber

a) verstehe ich nicht genau was Du mir sagen möchtest und b) funktioniert auch

info.Name[120] := s; nicht...
[Fehler] form3.pas(237): Inkompatible Typen: 'Char' und 'String'
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Hansa

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

Re: String in Char....

  Alt 13. Feb 2007, 02:19
Da muss sich die Frühschicht drum kümmern.

Soviel noch als Korrektur und Denkanstoß :

Delphi-Quellcode:
// das geht beides :
info.Name [1] := 'D';
info.Name [120] := s[1];

// so was aber nicht mehr :
info.Name [121] := 'D';
Gruß
Hansa
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: String in Char....

  Alt 13. Feb 2007, 05:52
Guten Morgen,

so geht es:

 StrPCopy(@Info.Name, s); Grüße vom marabu
  Mit Zitat antworten Zitat
Muehle

Registriert seit: 24. Nov 2006
Ort: 92331 Parsberg
24 Beiträge
 
Delphi 2005 Architect
 
#6

Re: String in Char....

  Alt 13. Feb 2007, 07:20
Delphi unterscheidet zwischen den beiden Typen
PChar/PAnsiChar und String :

Da ein Stringarray mit @ den Typ PAnsiChar (Pointer auf Char) hat,
musst du dafür eben Fkt.n (z.B. StrPCopy) für diesen Typ verwenden.

wie z.B. auch beim Großsetzen von Strings :

Uppercase(Str: String) fkt. nicht, aber
StrUpper(Str: PAnsiChar) funktioniert !!
G.M.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: String in Char....

  Alt 13. Feb 2007, 07:36
Hallo,

muss der array als char sein im Record?

Wenn nicht würde ich in als string[120] schreiben.


Delphi-Quellcode:
type
  TInfo = packed record
    lvfi: TLVFindInfo;
    Name: string[120];
  end;
Dann ist auch die
  info.Name:= s; kein Problem.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: String in Char....

  Alt 13. Feb 2007, 14:47
Zitat von marabu:
Guten Morgen,

so geht es:

 StrPCopy(@Info.Name, s); Grüße vom marabu
Danke das funktioniert super!
Doreen
Gruss Doreen
  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 12:14 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