Delphi-PRAXiS
Seite 5 von 6   « Erste     345 6      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Hilfe beim Übersetzten von C in Delphi (https://www.delphipraxis.net/88928-hilfe-beim-uebersetzten-von-c-delphi.html)

Robert Marquardt 25. Mär 2007 05:00

Re: Hilfe beim Übersetzten von C in Delphi
 
Das C-Programm ist ein Konsolenprogramm. Da sind Parameter auf der Kommandozeile voellig normal.
Welche steht wahrscheinlich nur in der Dokumentation. Da koennen wir schlecht helfen wenn wir noch nicht einmal wissen was dieses Programm genau tut.

simjoh 25. Mär 2007 06:35

Re: Hilfe beim Übersetzten von C in Delphi
 
Haaaaaaaaaallo Robert,

das Prog macht folgendes: Ich spiele manchmal und aus Spaß ein bischen Poker, bin gelernter Mathematiker und interessiere mich daher für die Wahrscheinlichkeiten bei diesem Spiel. Es gibt eine Software, FreePHG, kann man auch kostenlos runterladen auf http://www.jukofyork.com/freephg.htm, mit dem man die Handhistory, also eine Dokumentation der gespielten Hände, aus dem PartyPokerspeicher auslesen kann. FreePHG erzeugt eine Textdatei, in der dann jede Hand abgespeichert wird. Das sieht dann z.B so aus:

Game #5783806449 starts.

#Game No : 5783806449
***** Hand History for Game 5783806449 *****
$0.50/$1 Texas Hold'em - Monday, March 19, 01:45:53 ET 2007
Table Table 126468 (Real Money)
Seat 2 is the button
Total number of players : 6
Seat 1: CintaIkan ( $4.62 )
Seat 2: Garnbold ( $23 )
Seat 3: TUMERMORIN ( $36.59 )
Seat 4: freddYharps ( $30 )
Seat 5: nickmazda ( $27 )
Seat 6: hottarru ( $56.75 )
TUMERMORIN posts small blind [$0.25].
freddYharps posts big blind [$0.50].
** Dealing down cards **
nickmazda folds
hottarru folds
CintaIkan folds
Garnbold calls [$0.50]
TUMERMORIN calls [$0.25]
freddYharps checks
** Dealing Flop ** [ 7d, Th, 2d ]
TUMERMORIN checks
freddYharps bets [$0.50]
Garnbold calls [$0.50]
TUMERMORIN calls [$0.50]
** Dealing Turn ** [ 8h ]
TUMERMORIN checks
freddYharps checks
Garnbold bets [$1]
TUMERMORIN calls [$1]
freddYharps folds
** Dealing River ** [ 6d ]
TUMERMORIN checks
Garnbold bets [$1]
TUMERMORIN calls [$1]
Garnbold shows [ 8c, 2s ]two pairs, Eights and Twos.
TUMERMORIN doesn't show [ 7h, 3c ]a pair of Sevens.
Garnbold wins $6.50 from the main pot with two pairs, Eights and Twos.

Ich möchtet realtime ebenfalls den Speicher auslesen, deshalb übersetz ich das Prog FreePHG in Delphi, die Strings müssen nicht in einen Datei geschrieben werden, sondern ich möchte jeden String auf einem TPanel ausgeben. Geht sowas?

Liebe Grüße
Markus

simjoh 25. Mär 2007 07:15

Re: Hilfe beim Übersetzten von C in Delphi
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ach so, hier ist der gepackte Quellcode:

simjoh 25. Mär 2007 07:17

Re: Hilfe beim Übersetzten von C in Delphi
 
Lieber Robert,

wärst du so nett und könntest mir bei diesem Projekt helfen? Ich habe den Code vollständig in Delphi übertragen, bis auf die von dir bisher noch nicht bearbeiteten Fragen von mir. Der Compiler compilierts auch, ich habe aber den Verdacht, dass man das nicht so einfach machen kann.

Wäre nett, wenn ich noch was von dir lernen könnte.

simjoh 25. Mär 2007 07:19

Re: Hilfe beim Übersetzten von C in Delphi
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ach so, hier meine bisherige übersetzte Unit:

simjoh 26. Mär 2007 07:06

Re: Hilfe beim Übersetzten von C in Delphi
 
Hallo Robert,

was meinst du, hilftste mir?

Robert Marquardt 26. Mär 2007 07:24

Re: Hilfe beim Übersetzten von C in Delphi
 
Mal sehen wie ich Zeit und Lust habe.

simjoh 26. Mär 2007 07:39

Re: Hilfe beim Übersetzten von C in Delphi
 
Liste der Anhänge anzeigen (Anzahl: 1)
Super, danke. Ich hab nochmal den C-Code in eine Textdatei kopiert.

Herzliche Grüße
Markus

simjoh 26. Mär 2007 20:05

Re: Hilfe beim Übersetzten von C in Delphi
 
Teilerfolg,

hab die ProcessID, den WindowClassName und das WindowHandle der exe ermittelt. Zugriff auf den Speicher klappt noch nicht. Ich poste morgen mal den Quellcode.

simjoh 27. Mär 2007 07:16

Re: Hilfe beim Übersetzten von C in Delphi
 
Hallo,

wie übersetzt man den
Code:
if ((*((unsigned int*)(&Buffer[I]))) == ((((unsigned int)'m')<<24)
    |(((unsigned int)'a')<<16)
    |(((unsigned int)'G')<<8)
    |(((unsigned int)'#'))) // Remember: big-endian...
   && Buffer[I+4]=='e'
   && Buffer[I+5]==' '
   && Buffer[I+6]=='N'
   && Buffer[I+7]=='o'
   && Buffer[I+8]==' '
   && Buffer[I+9]==':'
   && Buffer[I+10]==' '
   && Buffer[I+11]>='0'
   && Buffer[I+11]<='9')
in Delphi?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.
Seite 5 von 6   « Erste     345 6      

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