AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

c code nach delphui übersetzen

Ein Thema von Klaus-B.Schmidt · begonnen am 23. Mai 2005 · letzter Beitrag vom 25. Mai 2005
Antwort Antwort
Seite 1 von 2  1 2      
Klaus-B.Schmidt

Registriert seit: 2. Apr 2004
Ort: Braunschweig
65 Beiträge
 
Delphi 2005 Personal
 
#1

c code nach delphui übersetzen

  Alt 23. Mai 2005, 19:43
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]
Karsten
  Mit Zitat antworten Zitat
Waldteufel
(Gast)

n/a Beiträge
 
#2

Re: c code nach delphui übersetzen

  Alt 23. Mai 2005, 19:51
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:
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.
[edit] Das ist eine 1:1 Übersetzung. Für jeden C-Befehl einen Delphi-Befehl... Es geht sicherlich eleganter... [/edit]
  Mit Zitat antworten Zitat
Klaus-B.Schmidt

Registriert seit: 2. Apr 2004
Ort: Braunschweig
65 Beiträge
 
Delphi 2005 Personal
 
#3

Re: c code nach delphui übersetzen

  Alt 23. Mai 2005, 20:03
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
Karsten
  Mit Zitat antworten Zitat
Waldteufel
(Gast)

n/a Beiträge
 
#4

Re: c code nach delphui übersetzen

  Alt 23. Mai 2005, 20:13
Hi.

z.B. so:

Delphi-Quellcode:

{ 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;
Warnung: Ungetestet!
  Mit Zitat antworten Zitat
Klaus-B.Schmidt

Registriert seit: 2. Apr 2004
Ort: Braunschweig
65 Beiträge
 
Delphi 2005 Personal
 
#5

Re: c code nach delphui übersetzen

  Alt 23. Mai 2005, 20:47
so, hab jetzt folgenden code :
Delphi-Quellcode:
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.
und bekomme folgende fehler :
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
Karsten
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#6

Re: c code nach delphui übersetzen

  Alt 23. Mai 2005, 21:07
Hi,

probier's mal mit TextFile statt File und ReadLn statt Read

cu
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: c code nach delphui übersetzen

  Alt 23. Mai 2005, 21:29
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 GNU RECODE - oder sehe ich das falsch?

Grüße vom marabu

Link eingebaut
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#8

Re: c code nach delphui übersetzen

  Alt 23. Mai 2005, 21:39
Assign() weist ein Objekt einem anderen zu; Close() schließt das Formular. Die hier korrekten Befehle heißt AssignFile(...) und CloseFile(...).
  Mit Zitat antworten Zitat
Klaus-B.Schmidt

Registriert seit: 2. Apr 2004
Ort: Braunschweig
65 Beiträge
 
Delphi 2005 Personal
 
#9

Re: c code nach delphui übersetzen

  Alt 24. Mai 2005, 12:44
habs jetzt geändert, bekomme aber immer noch filgende fehler:
Code:
  [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
Edit: dürften die gleiche fehler sein, die beim ersten versuch aufgetreten sind, nur die zeilen sind durch neues proj. verschoben.


MfG
Klaus
Karsten
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: c code nach delphui übersetzen

  Alt 24. Mai 2005, 13:53
Du magst RECODE nicht, stimmt's?

Anbei eine Demo, wie es mit Delphi funktionieren könnte.

Grüße vom marabu
Angehängte Dateien
Dateityp: zip txtconv_700.zip (540 Bytes, 15x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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