Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi String -> PAnsiChar funktioniert nicht (https://www.delphipraxis.net/49016-string-pansichar-funktioniert-nicht.html)

tinibeenie 4. Jul 2005 12:12


String -> PAnsiChar funktioniert nicht
 
Hallo!

Nach dem Tutorial http://www.delphipraxis.net/internal...ect.php?t=8681 habe ich versucht, einen Sound-Rekorder zu programmieren. Es hat auch alles so weit geklappt, aber ich fand es nicht so schön, dass man beim Speichern mit folgender Anweisung den Dateinamen nicht selber bestimmen kann:
Delphi-Quellcode:
mciSendString('SAVE mySound "c:\datei.wav"',nil,0,Handle);
Also hab ich mir gedacht, dass ich den Dateinamen über eine Dialogbox eingeben lasse. Daraufhin hab ich aber die Fehlermeldung [Fehler] Aufnahme1.pas(185): E2010 Inkompatible Typen: 'string' und 'PAnsiChar' bekommen.
Irgendwie bekomm ich die Fehlermeldung nicht weg :wink: . Hab's schon mit verschiedenen Code-Schnipseln, die ich hier im Forum gefunden habe, probiert, aber ich bekomm immer wieder dieselbe Fehlermeldung vom Anfang.

Hier ist erstmal meine Speichern-Prozedur:

Delphi-Quellcode:
procedure TForm1.JvTransparentButton6Click(Sender: TObject);
var dateiname_string:string;
    dateiname_char:PChar;
begin
  dateiname_string:=InputBox('Speichern','Bitte den Namen des Tracks eingeben:','');
  //Umwandeln des Dateinamens von String zu PAnsiChar
  dateiname_char := PChar(dateiname_string);        //hab mit diesen 3 Zeilen
  dateiname_char := @dateiname_string[1];           //unterschiedliche Kombinationen
  dateiname_char := Pointer(dateiname_string);      //ausprobiert
  //Speichern von mySound
  mciSendString('SAVE mySound "c:\'+dateiname_char+'.wav"',nil,0,Handle);
  //Aufnahmegerät schließen
  mciSendString('CLOSE mySound',nil,0,Handle);
end;
Kann man nach diesem Schema überhaupt den Dateinamen ändern oder muss ich das anders angehen (z.B. mit Save-Dialog)?

glkgereon 4. Jul 2005 12:21

Re: String -> PAnsiChar funktioniert nicht
 
du musst an der stelle dann auch wieder PChar('String') dahinschreiben...

also:
Delphi-Quellcode:
  //Speichern von mySound
  mciSendString(PChar('SAVE mySound "c:\'+dateiname_char+'.wav"'),nil,0,Handle);
  //Aufnahmegerät schließen
  mciSendString(PChar('CLOSE mySound'),nil,0,Handle);

tinibeenie 4. Jul 2005 12:42

Re: String -> PAnsiChar funktioniert nicht
 
Super, klappt. Danke! :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 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