![]() |
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 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