![]() |
c code nach delphui übersetzen
hallo,
ich hab eine frage oder auch ein problem, und den einzigen ausweg, den ich sehe ist, diese beiden c codes in die delphi sprache umzussetzen, sodass man sie in programmen verwenden kann. da iuch eine ahnuzng von habe, frage ich euch ----------------------- code 1 -----------------------
Code:
-----------------------
include <stdio.h>
int main() { // convert text file to plp char c; c = getchar(); while(!feof(stdin)){ putchar(c); // copy char to output putchar('\0'); // append zero after each char c = getchar(); } } code 2 ----------------------- CODE
Code:
#include <stdio.h>
int main() { // convert plp file to text char c; c = getchar(); while(!feof(stdin)) { if(c!='\0') // filter zeros putchar(c); c = getchar(); } } besten dank für eure bemühungen . MfG Klaus [edit=alcaeus]Code-Tags eingefügt. Beim nächsten Mal bitte selbst machen. Danke :) Mfg, alcaeus[/edit] |
Re: c code nach delphui übersetzen
Hi.
Delphi-Quellcode:
{code 1}
program code1; uses System; var c : char; begin // convert text file to plp Read(c); while c <> #26 do begin Write(c, #0); // copy char to output + append zero after each char Read(c); end; end.
Delphi-Quellcode:
[edit] Das ist eine 1:1 Übersetzung. Für jeden C-Befehl einen Delphi-Befehl... Es geht sicherlich eleganter... ;-) [/edit]
program code2;
uses System; var c : char; begin // convert plp file to text Read(c); while c <> #26 do begin if c <> #0 then // filter zeros Write(c); Read(c); end; end. |
Re: c code nach delphui übersetzen
erstmal bedank ich mich für die schnelle antwort, bloß hab ich keine ahnung, wie ich dies in ein ereignis einbinde, und als quelle bzw. ziel jeweils eine datei benutze.
MfG Klaus |
Re: c code nach delphui übersetzen
Hi.
z.B. so:
Delphi-Quellcode:
Warnung: Ungetestet!{ in Edit1 steht der Name der Eingabedatei } { in Edit2 steht der Name der Ausgabedatei } procedure TForm1.Button1OnClick(Sender : TObject); // umwandeln var c : char; fin, fout : file; begin Assign(fin, Edit1.Text); ReSet(fin); Assign(fout, Edit2.Text); ReWrite(fout); // convert text file to plp Read(fin, c); while c <> #26 do begin Write(fout, c, #0); // copy char to output + append zero after each char Read(fin, c); end; Close(fin); Close(fout); end; procedure TForm1.Button2OnClick(Sender : TObject); // zurückwandeln var c : char; fin, fout : file; begin Assign(fin, Edit1.Text); ReSet(fin); Assign(fout, Edit2.Text); ReWrite(fout); // convert plp file to text Read(fin, c); while c <> #26 do begin if c <> #0 then // filter zeros Write(fout, c); Read(fin, c); end; Close(fin); Close(fout); end; |
Re: c code nach delphui übersetzen
so, hab jetzt folgenden code :
Delphi-Quellcode:
und bekomme folgende fehler :
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var c : char; fin, fout : file; begin Assign(fin, Edit1.Text); ReSet(fin); Assign(fout, Edit2.Text); ReWrite(fout); // convert plp file to text Read(fin, c); while c <> #26 do begin if c <> #0 then // filter zeros Write(fout, c); Read(fin, c); end; Close(fin); Close(fout); end; end.
Code:
[Fehler] Unit1.pas(36): Inkompatible Typen: 'TPersistent' und 'file'
[Fehler] Unit1.pas(38): Inkompatible Typen: 'TPersistent' und 'file' [Fehler] Unit1.pas(41): Inkompatible Typen: 'procedure, untyped pointer or untyped parameter' und 'Char' [Fehler] Unit1.pas(45): Inkompatible Typen: 'procedure, untyped pointer or untyped parameter' und 'Char' [Fehler] Unit1.pas(46): Inkompatible Typen: 'procedure, untyped pointer or untyped parameter' und 'Char' [Fehler] Unit1.pas(48): Zu viele Parameter [Fehler] Unit1.pas(49): Zu viele Parameter [Fataler Fehler] Project2.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden |
Re: c code nach delphui übersetzen
Hi,
probier's mal mit TextFile statt File und ReadLn statt Read ;) cu |
Re: c code nach delphui übersetzen
Was du da machst, das riecht nach Code-Konvertierung von ASCII 7-bit nach Unicode UTF-16. Dafür schreibt man kein Programm, sondern nimmt
![]() Grüße vom marabu Link eingebaut |
Re: c code nach delphui übersetzen
Assign() weist ein Objekt einem anderen zu; Close() schließt das Formular. Die hier korrekten Befehle heißt AssignFile(...) und CloseFile(...).
|
Re: c code nach delphui übersetzen
habs jetzt geändert, bekomme aber immer noch filgende fehler:
Code:
Edit: dürften die gleiche fehler sein, die beim ersten versuch aufgetreten sind, nur die zeilen sind durch neues proj. verschoben.
[Fehler] Unit1.pas(38): Inkompatible Typen: 'procedure, untyped pointer or untyped parameter' und 'Char'
[Fehler] Unit1.pas(42): Inkompatible Typen: 'procedure, untyped pointer or untyped parameter' und 'Char' [Fehler] Unit1.pas(43): Inkompatible Typen: 'procedure, untyped pointer or untyped parameter' und 'Char' [Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden MfG Klaus |
Re: c code nach delphui übersetzen
Liste der Anhänge anzeigen (Anzahl: 1)
Du magst RECODE nicht, stimmt's?
Anbei eine Demo, wie es mit Delphi funktionieren könnte. Grüße vom marabu |
Re: c code nach delphui übersetzen
@marabu - deine möglichkeit hat leider keinen erfolg !
mir geht es eigentlich darum, dass ich diese kleine procedur in ein größeres programm intregieren kann, um die gewünschten output-file zu erstellen, und auch solche einzulesen. MfG Klaus |
Re: c code nach delphui übersetzen
Es gibt Programme zum übersetzen, dieses Thema ist schon oft aufgetaucht !
|
Re: c code nach delphui übersetzen
Hallo Klaus,
bitte etwas genauer. Wenn etwas mit der Demo nicht stimmt, dann interessiert mich das. Auch sollten das die Mitglieder des Forums erfahren, die deinen thread mitlesen und sich dabei auch den Code herunter laden. Was funktioniert nicht? Welche Fehler treten auf? Hast du Probleme bei der Übernahme als Prozedur in dein Programm? Hast du Probleme mit C oder mit Object Pascal oder mit beidem? Du musst genau sagen, wo dich der Schuh drückt, sonst kann man dir nicht helfen. marabu |
Re: c code nach delphui übersetzen
Liste der Anhänge anzeigen (Anzahl: 1)
hi, nach dem umwandeln mit dem programm ahb ich eine unsinnigere datei vorgefunden als vorher, sprich
die anstände zwischen den zeichen wurden vergrößert, und es wurde am eine allmögliches zeug angehängt, mit dem ich nichts anfangen kann. im anhang einmal die originaldatei (MyFavorite.plp) und die kovertierte (MyFavorit.txt). Mein ziel ist es eigentlich nur, die originaldatei mit delphi zu öffnen, die einträge in listview etc. hinzuzufügen, und nach editieren der list viel diese wieder in eine soclhe datei, wie datei zurückzuspeichern. Da ich das ganze für ein größeres projekt (da man sieht, handelt es sich um eine playlist für einen Mp3Player) ein playlisteditor für solche formate, der auch das kopieren von Mp3s auf den Player für noobs (wie mein Bruder) zum kinderspiel amcht. MfG Klaus |
Re: c code nach delphui übersetzen
Hi.
Oweh... Du hast die kodierte Datei nochmals kodiert... ;-) |
Re: c code nach delphui übersetzen
dann fehlt mir ja die andere richtung - mit einer kann ich nciht wirklich viel anfangen, ich werds aber nochmals in der anderen richtung versuchen, und berichten, obs erfolgreich war.
MfG Klaus |
Re: c code nach delphui übersetzen
danke für den hinweis, in die richtung funktioniert es einwandfrei - so lag detr fehler bei mir, ich entschuldige mich für dieses versehen und bedanke mich nochmal bei allen recht herzlich - allein hätt ichs nciht geschafft
MfG Klaus |
Re: c code nach delphui übersetzen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Lese deine Texte doch einfach direkt in die Listbox ein. Eine von vielen Möglichkeiten dazu findest du in der angehängten Demo. Viel Vergnügen noch mit deinem Projekt. marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz