Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

c++ int main function in delphi

Empfohlene Antworten

Veröffentlicht

Entschuldigung könnte mir jemand mal Helfen, :confused: ich muss was von c++ in delphi übersetzen doch leider weiß überhaupt nicht wie diese function hier in delphi aussehen soll

c++ code:

int main( int argc, char * argv[] )

{

if ( argc == 2 && ( !stricmp( argv[ 1 ], "/regserver" ) || !stricmp( argv[ 1 ], "/unregserver" ) || !stricmp( argv[ 1 ], "-regserver" ) || !stricmp( argv[ 1 ], "-unregserver" ) ) )

{

// Ignore me

}

else if ( argc != 3 )

{

printf( "Invalid commandline.\n" );

printf( "noahcopy <OldVer> <NewVer>\n" );

printf( "noahcopy 31 36\n" );

}

{..........}

{..........}

danke für jede Hilfe

Statt argc kannst du die Funktion ParamCount benutzen, statt argv ParamStr. stricmp ist ein Stringvergleich ohne Berücksichtigung von Groß-/Kleinschreibung, das Delphi-Äquivalent wäre wohl AnsiCompareText.

Das ! vor stricmp ist gleichbedeutend mit stricmp( ..., ... ) == 0.

Entschuldige aber irgendwie bekomm ich das nicht hin...

Ich weiss garnicht wo ich anfangen soll???

LG und danke

Entschuldige aber irgendwie bekomm ich das nicht hin...
Das ist keine ausreichende Problembeschreibung.

Ich weiss garnicht wo ich anfangen soll???
Am Anfang?

Es sollte wohl in etwa so aussehen (Ohne Gewähr, ich kann das hier nicht testen):

if ( ParamCount = 2 ) And ( ( AnsiCompareText( ParamStr(1), '/regserver' ) = 0 ) Or ( AnsiCompareText( ParamStr(1), '/unregserver' ) = 0 )  Or ( AnsiCompareText( ParamStr(1), '-regserver' ) Or AnsiCompareText( ParamStr( 1 ), '-unregserver' ) = 0 ) ) then
begin
// Ignore me
end;
else if ( ParamCount <> 3 ) then
begin
WriteLn( 'Invalid commandline.' );
WriteLn( 'noahcopy <OldVer> <NewVer>' );
WriteLn( 'noahcopy 31 36' );
end;[/code]

Super danke dir, hab es schon umgesetz es klappt mir fehlte noch die else Bedingung weil ich nicht wusste was ich statt printf nehmen soll, doch du hast es mir ja bereits beantwortet,

vielen dank

LG

Eine letzte Frage noch wie lässt sich sowas in delphi umsetzten

char szBasePath[ MAX_PATH ];

Mein Problem ist dabei dieses Max_Path;

dankeschön

mir fehlte noch die else Bedingung weil ich nicht wusste was ich statt printf nehmen soll

Ja, das hättest du etwas früher schreiben können (beispielsweise statt "irgendwie bekomm ich das nicht hin"), dann hätte ich mir die Arbeit sparen können. :rolleyes:

Fehlen dir eigentlich die Grundlagen bei C oder bei Delphi? Das heißt, weißt du nicht, was printf tut, oder weißt du nicht, wie du in Delphi Texte auf der Konsole ausgibst?

Mein Problem ist dabei dieses Max_Path;

Schau halt in die Headerdateien des C-Programms. MAX_PATH wird in Windef.h definiert:

#define MAX_PATH          260

Ne du hast mich falsch verstanden,:upps ich habs ja nur dank dir umsetzten können, ich hab schon den Code benutzt den du mir gegeben hast.

Mein Problem ist das ich nicht weiß wie man etwas in delphi auf der Konsole ausgibt.

Vielen dank du hast mir echt geholfen ;)deine mühen waren nicht umsonst:uli.

Danke

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.