Einzelnen Beitrag anzeigen

Benutzerbild von kwhk
kwhk

Registriert seit: 25. Mär 2009
Ort: Dresden
168 Beiträge
 
Delphi 10.3 Rio
 
#13

AW: Incompatible types beim Zusammensetzen von WideChars

  Alt 11. Feb 2017, 07:50
Ich habe noch etwas gespielt, ich denke s21 und s22 sind schon WideString, keine WideChar.
Wenn ich die beiden WideChar s1[1] und s1[2] nacheinander s3 zuweise ( statt s3 := s1[1]+s1[2] ), dann klappt das auch - siehe s3.
Bei s4 funktioniert es auch. Wenn man WideChar mit + verknüpft, dann muss offenbar mindestens ein WideString in der + - Kette dabei sein, es funktioniert auch ein Leerstring, wie in dem Beispiel.


Hier der Code
Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
   SysUtils;

var
    s1, s2, s3, s4: WideString;
    s21, s22 : WideString;
    s : String;
begin
    s21 := '<<<';
    s22 := '>>>';
    s1 := 'abc';
    s21 := s21+s1[1];
    s22 := s1[2]+s22;
    s2 := s21 + s22;

    s3 := s1[1]; // statt s3 := s1[1]+s1[2]
    s3 := s3+s1[2];

    s4 := '';
    s4 := s4+s1[1]+s1[2]; // statt s4 := s1[1]+s1[2]

    WriteLn('s1=',s1);
    WriteLn('s1[1]=',s1[1]);
    WriteLn('s1[2]=',s1[2]);
    WriteLn('s21=',s21);
    WriteLn('s22=',s22);
    WriteLn('s2=',s2);
    WriteLn('s3=',s3);
    WriteLn('s4=',s4);

    ReadLn(s);
end.
und hier das Ergebnis
Code:
s1=abc
s1[1]=a
s1[2]=b
s21=<<<a
s22=b>>>
s2=<<<ab>>>
s3=ab
s4=ab
Hartmut

Geändert von kwhk (11. Feb 2017 um 08:01 Uhr)
  Mit Zitat antworten Zitat