AGB  ·  Datenschutz  ·  Impressum  







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

Übersetzung von einem kurzen c code

Ein Thema von Nicodius · begonnen am 21. Feb 2007 · letzter Beitrag vom 22. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#1

Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 10:01
Hi leute ich hab leider ein Problem.

Mein Chef hat mir vorgestern in C den code zum speichern der Daten, die das Programm das ich programmierer verarbeitet, gegeben.
Ich habe leider keine ahnung von c bzw wie man das in Delphi umsetzt.

ich hab folgendenen code

Code:
typedef struct {

int vtjahr;
int vtproz[12]
} Vert_Ent;

typedef struct {

char st_bez[32];
int st_jahr[12];
char st_vert[12];
long st_aufk[12]
} Steuer;

typedef struct {
char und_bez[32];
Steuer und_st[32];
} Modell;

struct {
char Vert_ast[32][24];
Vert_ent vert_datum[32];
Modell mod[16]
} Alles;

das sind wahrscheinlich records mit arrays oder?

und wie schaut das in Delphi aus bzw wie speicher ich dann die daten? mit assign oder?


wäre wirklich sehr nett könntet ihr mir in dieser Sache helfen


lg Nico
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 10:21
structs sind records in Delphi.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#3

Re: Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 10:27
ok vielen dank schonmal
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von yörsch
yörsch

Registriert seit: 10. Jan 2007
Ort: Lampertheim
206 Beiträge
 
Delphi XE2 Architect
 
#4

Re: Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 10:49
versuchs mal damit
Delphi-Quellcode:
Vert_Ent = record
  vtjahr : Integer;
  vtproz : array [0..11] of Integer;
end;

Steuer = record
  st_bez : array [0..31] of char;
  st_jahr : array [0..11] of Integer;
  st_vert : array [0..11] of char;
  st_aufk : array [0..11] of longWord;
end;

Modell = record
  und_bez : array [0..31] of char;
  und_st : array [0..31] of Steuer;
end;


Alles= record
  Vert_ast : array [0..31,0..23] of char;
  vert_datum : array [0..31] of Vert_ent;
  mod_ : array [0..15] of Modell; // mod ist ein reserviertes wort!
end;
Jörg
have FUN
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 10:51
st_bez : array [0..31] of char; Ist das in C nicht so, dass es keine Strings gibt und man daher mit "Array of Char" arbeiten muss. Ich hätte gedacht, das geht in Delphi einfach so, es kann aber auch sein, dass ich gerade irgendetwas durcheinanderbringe.

st_bez: string;
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 10:55
genau wegen solchen kleinigkeiten frag ich euch *gg*
das wird dann bedeuten dass der string aber auch nur 31 zeichen lang sein darf oder? also [30] oder?

vielen dank an alle ich probier das mal so aus

lg Nico
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 10:58
Manchmal ist es aber aus Gründen der Kompatibilität besser auf Generische typen (string, integer, ...) zu verzichten ....


Zitat von OH:
Das reservierte Wort string funktioniert wie ein generischer Typbezeichner: ....
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#8

Re: Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 11:04
Zitat von Matze:
Ist das in C nicht so, dass es keine Strings gibt und man daher mit "Array of Char" arbeiten muss. Ich hätte gedacht, das geht in Delphi einfach so, es kann aber auch sein, dass ich gerade irgendetwas durcheinanderbringe.
Nein, ist es nicht.

Ein String in Delphi ist ein Pointer auf eine StringStruktur (mit Refferenzzähler, Langenangabe und den Stringdaten selber).

Ein Delphi-Referenz durchsuchenShortString kommt den CharArray noch am nächsten, außer das dort noch ein Längenbyte am Anfang steht.

String[32] wäre dann sozusagen dieses
Delphi-Quellcode:
Record
  StrLen: Byte; // welches im ShortString über xyz[0] lesbar wäre
  Data: Array[1..32] of Char;
End;
Code:
struct { 
  byte strLen;
  char data[32];
}
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von yörsch
yörsch

Registriert seit: 10. Jan 2007
Ort: Lampertheim
206 Beiträge
 
Delphi XE2 Architect
 
#9

Re: Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 11:13
ob das funktioniert was ich geschrieben hab weiss ich nicht...
aber du siehst ja was beim debuggen un die struktur geschrieben wird...
Jörg
have FUN
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Übersetzung von einem kurzen c code

  Alt 21. Feb 2007, 11:14
@himi: Ah wieder was gelernt, danke. Und Nico sicher auch.
  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 04:55 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