Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Inkompatible Typen 'Char' und 'String'
delphia1029 - Mo 14.09.09 21:42
Titel: Inkompatible Typen 'Char' und 'String'
Habe ein Problem mit folgendem Code. Es kommt zur fehlermeldung 2010 inkompatible Type 'Char' und 'String'
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| procedure TForm1.FormCreate(Sender: TObject);
var drv_type : Integer; drive : Char; Position: Integer; a : Integer; b : String; c : String;
begin Image1.Picture.LoadFromFile('images\work.png'); Image2.Picture.LoadFromFile('images\noth.png'); Image3.Picture.LoadFromFile('images\noth.png'); Image4.Picture.LoadFromFile('images\noth.png');
b:=ExtractFilePath(ParamStr(0)); Position:=Pos(':', b); Delete(b,Position,1000000);
drive := b; drv_type := GetDriveType(drive+':\'); Case drv_type of DRIVE_UNKNOWN: a := 1; DRIVE_REMOVABLE: a := 2; DRIVE_FIXED: a := 3; DRIVE_REMOTE: a := 4; DRIVE_CDROM: a := 5; DRIVE_RAMDISK: a := 6; end; end;6; |
Moderiert von
Narses: Delphi-Tags hinzugefügtModeriert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Mo 14.09.2009 um 22:52
jaenicke - Mo 14.09.09 21:57
Naja... Du versuchst halt einem einzelnen Zeichen einen ganzen String zuzuweisen.
delphia1029 hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var drive: Char; b: String; begin ... drive := b; | |
Was du vermutlich meinst:
Delphi-Quelltext
1:
| drive := ExtractFileDrive(ParamStr(0))[1]; |
Oder kurz:
Delphi-Quelltext
1:
| drive := ParamStr(0)[1]; |
Dann noch dazu:
delphia1029 hat folgendes geschrieben : |
Delphi-Quelltext 1:
| Image1.Picture.LoadFromFile('images\work.png'); | |
Da fehlt die Pfadangabe. Dass es so vielleicht klappt, ist reines Glück...
http://www.delphi-library.de/viewtopic.php?p=499701
delphia1029 - Mo 14.09.09 22:26
Ich bekomme immer noch die Meldung Inkompatible Typen, in der Zeile drv_txpe ....
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| procedure TForm1.FormCreate(Sender: TObject);
var drv_type : Integer; drive : Char; a : Integer; b : String;
begin Image1.Picture.LoadFromFile('images\work.png'); Image2.Picture.LoadFromFile('images\noth.png'); Image3.Picture.LoadFromFile('images\noth.png'); Image4.Picture.LoadFromFile('images\noth.png');
drive := ExtractFileDrive(ParamStr(0))[1]; drv_type := GetDriveType(drive+'\'); Case drv_type of DRIVE_UNKNOWN: a := 1; DRIVE_REMOVABLE: a := 2; DRIVE_FIXED: a := 3; DRIVE_REMOTE: a := 4; DRIVE_CDROM: a := 5; DRIVE_RAMDISK: a := 6; end; end;
end. |
Moderiert von
Narses: Delphi-Tags hinzugefügt
steffven - Mo 14.09.09 23:13
Habe eben einmal für dich gegoogelt:
http://www.delphipraxis.net/topic2024.html
Ich würde also
Delphi-Quelltext
1:
| drv_type := GetDriveType(drive+'\'); |
in
Delphi-Quelltext
1:
| drv_type := GetDriveType(PChar(drive+':\')); |
ändern.
Folgenden Code habe ich eben getestet, funktioniert perfekt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.Button1Click(Sender: TObject); var drv_type : Integer; t : String; begin drv_type := GetDriveType(PChar('C:\')); Case drv_type of DRIVE_UNKNOWN: t := 'Unknown'; DRIVE_REMOVABLE: t := 'Removable'; DRIVE_FIXED: t := 'Fixed'; DRIVE_REMOTE: t := 'Network'; DRIVE_CDROM: t := 'CD-ROM'; DRIVE_RAMDISK: t := 'RAM Disk'; end; Label1.Caption := t; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!