Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 17:41

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C++ / AutoIt / Delphi

Discussion on C++ / AutoIt / Delphi within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 10
Join Date: Aug 2010
Posts: 2,814
Received Thanks: 466
C++ / AutoIt / Delphi

Hallo,

Ich habe vor mit C++ anzufangen, habe vorher jedoch ein paar Fragen.

1. Ich lese immer wieder, dass AutoIt am Anfang nicht so frustrierend wie C++ ist. Da ich selbst schon 2 kleinere Bots mit AutoIt geschrieben habe, kann ich das bestätigen. Weiterhin lese ich, dass mit C++ viel mehr möglich ist als mit AutoIt, aber wo liegen ungefähr die Grenzen von AutoIt?

2. Manche sagen man kann mit Tutorials C++ lernen, andere behaupten es geht nur mit Büchern. Was könnt ihr mir empfehlen?

3. Da wir in der Schule gerade Delphi lernen, würde ich gerne wissen ob es sich lohnt sich auch außerhalb der Schule damit zu beschäftigen.
Kann man mit Delphi genauso viel erreichen wie mit C++? Lohnt sich Delphi überhaupt noch?

Ich hoffe ihr könnt mir weiterhelfen

MfG ExChill
ExChill is offline  
Old 08/27/2012, 23:35   #2
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 451
1. AutoIt sieht aus wie Scheiße und ist langsam. Du kannst soweit ich weiß keine Dlls damit erzeugen und auch keine Treiber. Außerdem wird es nur embedded, was es dekompilierbar und langsam macht. Gerade im Bereich Gamehacking kannst du also auch nicht mal eben eine komplette Funktion injizieren, sondern müsstest diese als Byte Array vorliegen haben.
Ansonsten ist es sehr einfach und klein und hat eine übersichtliche Dokumentation und natürlich nützliche, vorgefertigte Funktionen, besonders spezialisiert auf Botzeugs.

2. Irgendwie dumme Frage.. was ist der Unterschied zwischen einem Buch, mit dem du was lernen willst, und einem Tutorial? Kommt logischerweise auf die Qualität an, lad dir einfach eBooks illegal aus'm Internet, gibt's tausende.

3. Was willst du denn "erreichen"? Anwendungen mit einer CLI oder GUI kannst du sowohl mit AutoIt (vllt. keine CLI, kA), Delphi und C++ erstellen.
Internetkrams kannst du auch mit allen 3 machen, CGI funzt mit Delphi und C++, evtl. gibt es da auch was für AutoIt. x86 Kernelmode Treiber kannst du mit Delphi und dem MS Linker oder mit dem WinDDK und C kompilieren.

Delphi wird auch noch weiterentwickelt, mittlerweile gibt es Delphi 2012, das einen x64-Compiler enthält und auch Mac-Portabilität, mit Kylix lässt sich Delphi auch unter und für Linux kompilieren. Könntest auch FreePascal benutzen, das glaub ich fast 1:1 die gleiche Syntax wie Delphi hat, aber kostenlos und noch portabler ist (lässt sich auch für PowerPC, PowerPC64, SPARC und ARM, in Formaten für Linux, Windows, Mac, OS/2, etc. kompilieren). In Punkto Codeoptimierungen lassen sowohl Delphi als auch FreePascal im Vergleich zu fast jedem C++-Compiler zu wünschen übrig.
Hier ist GNU Pascal wiederum ganz weit vorne mit dabei, das es allerdings wohl nur für Linux gibt und zwar (natürlich) auch mit einem Pascal-Dialekt arbeitet, im Vergleich zu Delphi/FreePascal aber wieder viele Unterschiede in mehreren Sprachkonstrukten aufweist.

Für Konsolen hast du in Delphi und C++ die jeweiligen Runtime-Funktionen (writeln bzw. cout/printf) und für GUIs, also grafische Oberflächen, in AutoIt die WinAPI-Wrapper, die zur AutoIt Runtime gehören, in Delphi die VCL bzw. CLX und auch Bibliotheken Dritter und in C++ unter Windows natürlich wie auch bei AutoIt und Delphi die WinAPI und daneben noch ganz viele Third-Party Libraries wie Qt, wxWidgets, Windows Forms (von .NET), etc., wovon viele sowohl Windows- als auch Linux-kompatibel sind.
link is offline  
Old 08/28/2012, 13:47   #3


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,221
Received Thanks: 6,758
Delphi zu lernen und auch privat damit anzufangen lohnt sich, keine Frage. Ich arbeite damit sowohl privat, als auch auf der Arbeit, es ist nicht meine meistgeliebte Sprache, aber definitiv eine sehr Gute ;-)
#SoNiice is offline  
Old 08/28/2012, 14:48   #4
 
elite*gold: 0
Join Date: Aug 2007
Posts: 4,043
Received Thanks: 2,551
Quote:
1. Ich lese immer wieder, dass AutoIt am Anfang nicht so frustrierend wie C++ ist. Da ich selbst schon 2 kleinere Bots mit AutoIt geschrieben habe, kann ich das bestätigen. Weiterhin lese ich, dass mit C++ viel mehr möglich ist als mit AutoIt, aber wo liegen ungefähr die Grenzen von AutoIt?
C++ ist eine Programmiersprache, Autoit ist..ich will hier nicht das Wort "Dreck" verwenden also sage ich "Scriptsprache".

Quote:
2. Manche sagen man kann mit Tutorials C++ lernen, andere behaupten es geht nur mit Büchern. Was könnt ihr mir empfehlen?
Tutorials sind vielleicht für die Grundlagen noch in Ordnung aber um es richtig zu "lernen" sollte man sich schon ein Buch holen. In der Schule lernt man schließlich auch mit Büchern und nicht mit Youtube Videos.

Quote:
3. Da wir in der Schule gerade Delphi lernen, würde ich gerne wissen ob es sich lohnt sich auch außerhalb der Schule damit zu beschäftigen.
Kann man mit Delphi genauso viel erreichen wie mit C++? Lohnt sich Delphi überhaupt noch?
Geschmackssache. Ich persönlich mag die Syntax von Delphi nicht. Aber die Sprache hat ihre Daseinsberechtigung.
Rainvair is offline  
Old 08/28/2012, 16:25   #5
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Quote:
C++ ist eine Programmiersprache, Autoit ist..ich will hier nicht das Wort "Dreck" verwenden also sage ich "Scriptsprache".
AutoIt ist auch eine Programmiersprache ... Wieso sollte es keine sein?
dowhile is offline  
Old 08/28/2012, 16:57   #6


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,221
Received Thanks: 6,758
Quote:
Originally Posted by dowhile View Post
AutoIt ist auch eine Programmiersprache ... Wieso sollte es keine sein?
Weil's im Gegensatz zu C++ ein Witz ist..

Quote:
Mit der Zeit wurde AutoIt eine mächtige Programmiersprache, welche komplexe Ausdrücke, benutzerdefinierte Funktionen, Schleifen und alles Andere, was altgediente Programmierer erwarten würden, enthält.
aha.
#SoNiice is offline  
Old 08/28/2012, 18:20   #7

 
マルコ's Avatar
 
elite*gold: 1329
Join Date: Jun 2009
Posts: 1,873
Received Thanks: 960
Ich für meinen Teil kann mich den bisher genannten Argumenten anschließen. Ich persönlich arbeite auch sehr viel mit Delphi und C++.
Wobei ich sagen muss, dass die Code Optimierung bei Delphi große Fortschritte macht. In einem Test (finde so viele Primzahlen wie möglich) Delphi vs. C++ mit dem selben Algo hat das Delphi Programm bei kleineren Primzahlen sogar schneller als das C++ Programm gearbeitet und wurde erst gegen später etwas langsamer.
Algo war:
Code:
1. Starte mit Zahl 2 als Primzahl (speichere sie)
2. Zähle eins weiter
3. Teile die neue Zahl durch alle gespeicherten Zahlen
  -> Falls ein Ergebnis ohne Rest entsteht => keine Primzahl, sonst speichern und weiter mit 2.
Meine Meinung ist allerdings, dass jede Sprache ihre speziellen Vorteile hat.

AutoIt:
Toll, um kleine Automatisierungen und Makroprogramme zu erstellen (zum Beispiel sehr einfache Bots). Ansonsten langsam und der Code ist einfach zu bekommen.


C++:
Kann das selbe wie AutoIt, evtl. etwas komplizierter, weil du einige Dinge selbst machen musst über APIs oder so.
C++ ist die wahrscheinlich best-optimierteste Sprache von der Laufzeitgeschwindigkeit dieser 3. Sie ist sehr hardwarenah und deshalb kompizierter, gerade für Anfänger (was frustrierend sein kann).
Theoretisch lässt sich damit für jede Plattform programmieren, und du kannst damit alles machen (mir fällt zumindest nichts ein, was sie nicht kann).
In vielen Sektoren gibt es nur für C++ Klassen und Header Dateien (wenn du z.B. das neuste Ogre3D benutzen willst, kannst du das nur mit C++).


Delphi:
Delphi ist meine Lieblingssprache. Sie kann genau so viel wie C++ (ich hab gehört, selbst Treiber), außer dass du evtl. nicht für alle Plattformen programmieren kannst.
Diese Sprache ist sehr einfach, da du hier theoretisch komplett ohne Pointer auskommst und dir um diese auch keinerlei Gedanken machen musst. Zumindest am Anfang.
Außerdem nutzt Delphi das Komponenten Prinzip. Brauchst du etwas, wie z.B. einen Baustein, der für dich sämtliche TCP Verbindungen und so aufbaut und regelt und einfach zu benutzen ist, dann musst du nur Googlen, die Komponente installieren lassen, einbinden und nutzen. Es gibt sehr sehr viele Komponenten (auch Graphische). Das System finde ich sehr viel einfacher als alles andere, was ich bisher so gesehen habe (auch C++ Klassen sind meiner Meinung nach nicht so einfach zu nutzen).
Nur zur Info, Delphi hat auch Klassen^^
BTW. Delphi nutzt kein .NET (kann es, würd ich aber nicht empfehlen), sondern die VCL für graphische Oberflächen, bei der alles einkompiliert wird, und du so im Normalfall keine Runtimes mitliefern musst. Seit neustem gibt es auch FireMonkey HD und FireMonkey 3D, das es ermöglicht, sehr schöne Formen (ohne Graphiken und sogar mit vielen vorgefertigten Animationen) zu machen, und den Skin ganz einfach zu wechseln.

Nunja, wenn man das Embarcadero RAD Studio (oder nur die C++ Umgebung) nimmt, dann kann man auch solche Komponenten mit C++ verwenden.

Allerdings hat die Umgebung von Embarcadero auch einen stolzen Preis. Die Delphi Starter Version fängt bei 200€ an. Ich empfehle daher erstmal mit Lazarus zu experimentieren und dir zu überlegen, ob du Delphi wirklich weiter lernen willst. Wenn ja: Die Embarcadero Umgebung ist TOLL!
マルコ is offline  
Old 08/29/2012, 21:41   #8
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 451
Quote:
Originally Posted by マルコ
(ich hab gehört, selbst Treiber)
jo, hab ich oben geschrieben /...

Quote:
Originally Posted by マルコ
Wobei ich sagen muss, dass die Code Optimierung bei Delphi große Fortschritte macht.
Nein, es hat sich seit Delphi 7 (2002) nichts an den Code Optimierungen bzw. der Code Erzeugung seitens des Compilers getan (bis auf die class-Erweiterungen und for-each, etc.).

Delphi hat natürlich auch Optimierungsfeatures, aber verglichen mit vielen, guten C++-Compilern fehlen komplexere, sehr effiziente Optimierungen wie Loop Hoisting, Unrolling, aber auch relativ simple wie Dead-Store und Dead-Code Elimination. Außerdem scheint es so, als würde Delphi jede Anweisung für sich, also ohne Kontext kompilieren,
so ergibt sich z.B. aus:
Code:
a: array of Cardinal;
SetLength(a, 2);
a[0] := 1;
a[1] := 2;
folgender asm Code:
Code:
//SetLength(a, 2);
mov eax,[a]
mov [eax],1
mov eax,[a]
mov [eax+4],1
Um das Ganze also auf die Spitze zu treiben (da keine Dead-Store/-Code Elimination):
Code:
a[0] := 1;
a[0] := 2;
a[0] := 3;
Exit;
a[0] := 4;
->
Code:
mov eax,[a]
mov [eax],1
mov eax,[a]
mov [eax],2
mov eax,[a]
mov [eax],3
jmp @@fin
mov eax,[a]
mov [eax],4
@@fin:
//Epilog und retn
Quote:
Originally Posted by マルコ
Diese Sprache ist sehr einfach, da du hier theoretisch komplett ohne Pointer auskommst und dir um diese auch keinerlei Gedanken machen musst. Zumindest am Anfang.
Du musst, um Delphi zu verstehen, (anders als z.B. in VB) auf jeden Fall wissen, wie Pointer funktionieren und wann diese zum Einsatz kommen, da Delphis Sprachkonstrukte häufig mit Pointern arbeiten (dynamische Arrays/Strings/Array als Parameter/...), da du ansonsten, wenn du nicht weißt, wie Delphi diese Dinge intern handhabt, diverse Fehler baust.
link is offline  
Old 08/29/2012, 23:29   #9

 
マルコ's Avatar
 
elite*gold: 1329
Join Date: Jun 2009
Posts: 1,873
Received Thanks: 960
@link: Ja, ich weiß, dass du es oben angesprochen hast. Ich hab es aber selbst noch nie genutzt und kann es daher nicht mit Sicherheit sagen. Ich hab dieses Feature nie gebraucht und mich nie näher damit beschäftigt.

Nur weil viele komplexe Code-Optimierungs Features fehlen, heißt das nicht, dass sich nichts tut. Und ich habe auch gesagt, dass C++ Compiler weitaus besser optimieren, sogar mit anschaulichem Beispiel.

Als ich Delphi gelernt habe, habe ich keine Pointer gebraucht. Am Anfang benötigt man diese auch wirklich nicht, so lange die Programme noch sehr einfach sind. Man kann also sämtliche Standard Sprachelemente erstmal lernen, und danach Pointer verstehen. Meiner Meinung nach ist das Verstehen der Pointer eine relativ schwierige Sache für Anfänger (ich habe ja meine Beobachtungen dazu gemacht - an der Schule, als ich Delphi gelernt habe bei mir und meinen Klassenkameraden, und im Studium, als wir C++ drangenommen haben, bei meinen Kommilitonen).
マルコ is offline  
Old 08/30/2012, 00:42   #10


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Pointer sind eigentlich ein ziemlich einfaches Prinzip, wenn man mal 1-2 Lektionen für die Architektur des Rechners verschwendet. Wer aus dem "Gamehacking" Bereich kommt und dann eine Sprache mit Pointern lernt, hat damit weitaus weniger Probleme als ein Java Programmierer.

In C/C++ kannst du anfangs ebenso gut auf Pointer verzichten (na gut, in C dann doch eher weniger).
MrSm!th is offline  
Old 08/30/2012, 02:31   #11
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 451
Quote:
Originally Posted by マルコ
Ich hab es aber selbst noch nie genutzt und kann es daher nicht mit Sicherheit sagen
Ich schon: mit Delphi kompilieren, die OMF .obj-Datei zu COFF konvertieren und mit dem MS Linker zu einer Native PE Datei linken.
Da der MS Linker den EntryPoint erzeugt, muss man allerdings auf die automatische Initialisierung der Delphi Runtime (@InitExe) sowie die Compiler-Magic Strings verzichten (@InitExe bzw. @StartExe/@InitUnits könnte man evtl. selbst aufrufen. Für die String-Facilities muss man einen eigenen Memory Manager installieren, der nicht wie Delphis interner LocalAlloc benutzt, sondern ring0-kompatibel alloziert, z.B. mit MmAllocateContiguousMemory).
Ist allerdings mehr oder weniger nur relevant für x86 Systeme, deswegen hab ich mich seit x64 auch nicht weiter damit beschäftigt.

Quote:
Originally Posted by マルコ
Nur weil viele komplexe Code-Optimierungs Features fehlen, heißt das nicht, dass sich nichts tut.
Quote:
Originally Posted by link
Delphi hat natürlich auch Optimierungsfeatures

Quote:
Originally Posted by マルコ
Und ich habe auch gesagt, dass C++ Compiler weitaus besser optimieren, sogar mit anschaulichem Beispiel
Wie geschrieben hat der GNU Pascal Compiler üble Optimierungen drauf, nur halt der Delphi(tm) Compiler nicht und an dem hat sich seit 2002 auch nichts mehr verändert. Der erzeugte x86 Code ist bei Delphi XE2 nach wie vor exakt der gleiche und der ist alles andere als optimal (siehe mein Beispiel).
link is offline  
Old 08/31/2012, 21:50   #12
 
elite*gold: 175
The Black Market: 233/4/1
Join Date: Apr 2011
Posts: 4,923
Received Thanks: 401
Ich würde dir auch Delphi empfehlen.
Ich habe mein 1. Schülerpraktikum in der Firma meines Vater absolviert.
Durch dieses Praktikum hat mich ein Kollege meines Vaters "begleitet".
Dieser hat das Programmieren auch mit Delphi begonnen, und programmiert
zur Zeit seine Anwendungen in Borland C++.

Borland C++ ist sehr ähnlich wie Delphi, der größte Unterschied zwischen den
Sprachen ist wohl, dass man in C++ einen "->" statt den in Delphi üblichen "."
schreibt.


Also ich würde dir auch Delphi ans Herz legen, ich übe mich auch gerade in Delphi,
in meiner Freizeit. Es gibt auch eine relativ gute IDE, diese heißt "Lazarus".

Falls Du noch Fragen hast, einfach in Skype adden. (:

hero98761 (meine private)
Hydroxyandrost is offline  
Old 08/31/2012, 23:38   #13
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
gibt keine sprache "Borland C++".

borland C++ ist ein compiler für die programmiersprache C++.
C++ hat große unterschiede zu delphi und kann einiges mehr.
unter windows ist die IDE von microsoft, "Visual Studio" zu empfehlen, gibt auch kostenlose express versionen.
Dr. Coxxy is offline  
Old 09/01/2012, 00:29   #14


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Quote:
Borland C++ ist sehr ähnlich wie Delphi, der größte Unterschied zwischen den
Sprachen ist wohl, dass man in C++ einen "->" statt den in Delphi üblichen "."
schreibt.
Was zum..?
MrSm!th is offline  
Old 09/01/2012, 00:37   #15
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 451
Quote:
Originally Posted by Dr. Coxxy View Post
gibt keine sprache "Borland C++".

borland C++ ist ein compiler für die programmiersprache C++.
C++ hat große unterschiede zu delphi und kann einiges mehr.
unter windows ist die IDE von microsoft, "Visual Studio" zu empfehlen, gibt auch kostenlose express versionen.
Wovon genau redest du? Statt Phrasen zu dreschen wären ein paar Beispiele und Argumente ganz hilfreich.

Quote:
Originally Posted by MrSm!th View Post
Was zum..?
Wichtigster Unterschied zwischen C++ und Delphi :P

@Raito San:
Eigentlich ist Delphis Äquivalent zu C++'s "->" ein "^xx.", Delphi unterstützt aber auch, dass man nur einen Punkt schreibt und Pointer dann automatisch dereferenziert werden.
link is offline  
Reply


Similar Threads Similar Threads
Direct Injection Codes - Delphi/C++/AutoIt
11/08/2011 - PW Hacks, Bots, Cheats, Exploits - 49 Replies
Since all pro people here is a bit selfish... i decided to made my own guide and share with the forum!! OK... This is the best way to make your bot or whatever you making work well for you!!! STOP being eMo and just changing addresses!! Lets play hard!!!:D ALL INFORMATION HERE IS BASED ON PERFECT WORLD INTERNACIONAL (LAST VERSION) Before Start:
[AutoIT->Delphi] Pointer + Offset auslesen !
02/05/2011 - Nostale - 4 Replies
Hi, ich habe folgendes AutoIT Script und bekomme es einfach nicht für Delphi umgeschrieben. Mit Memory Read/Write in Delphi habe ich leider keinerlei Erfahrung, deshalb bitte ich euch um eine funktionierende Funktion. AutoIT ist zwar recht easy aber spackt mal wieder rum, NosTale stürzt grundlos ab. :D Folgender Code: #include <Pointer.au3> #RequireAdmin $open = _MemoryOpen(ProcessExists("NostaleX.dat" )) Global $base = 0x0020AC93
Pointer in Autoit/Delphi
12/26/2010 - Nostale - 0 Replies
Edit, hat sich erledigt. Selbst herausgefunden nach langem probieren.
AutoIT to Delphi Translation - 50 $
06/27/2010 - AutoIt - 0 Replies
Please delete.
_MemoryPointerRead (autoit) in delphi
05/23/2008 - General Coding - 6 Replies
Hallo epvp coder Gruppe Ich hänge derzeit an folgendem Problem: In auto-it konnte man mit der "_MemoryPointerRead" Funktion einen Wert aus dem Speicher auslesen, zu dem man nur über einen Pointer(mit Offsets usw.) kommt. http://1337files.13.funpic.de/ce.jpg Nachdem ich in einem anderem Forum keinen fand, der davon Ahnung hatte, frage ich hier: Gibt es soetwas auch in Delphi? Ich verwende derzeit die Funktion "ReadProcessMemory", die jedoch nur Werte aus statischen Adressen auslesen...



All times are GMT +2. The time now is 17:41.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.