Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
27.09.2001, 22:41
Retro



Also, ich hab mich nun schon ne weile mit dem ekeligen schwarzen Dos-Programmen rumgeschlagen =) *bähh*

Aber ich möchte lieber etwas Fensterartiges programmieren - weis aber nicht wie das gehen soll. Gibt es Bücher die sich "ausschließlich" mit diesem Gebiet beschäftigen, oder vielleicht auch Tutorials?
Ich meine so der typische Delphi-Style - man setzt dort nen Button, hier nen Label, hier und da noch ne Combobox *g* also ihr wisst was ich meine.

Nur leider hab ich damit noch keinerlei erfahrung, ich weiss auch nicht wie man die entsprechenden Events für die Buttons macht, also OnClick und das ganze zeug, wie man den Text einer Editbox ändert.

Also die Grundlagen von "Fensterprogrammen" in VC++.
Außerdem muss es doch bei MSVC++ 6.0 irgendwo ne Designoberfläche geben, wo man die ganzen Komponenten setzt, oder? Wenn es den gibt ist er echt gut versteckt *g*

Naja, ich habs schon geschafft per "Neu..." nen Fensterprogramm mit "fertigen" Inhalt (Menü etc...) zu machen, aber das will ich ja auch nicht, ich will ja sowas selber machen, und nicht als "Prefab" verwenden... *g*

Naja, and so on, ich glaub ihr wisst was ich meine, irgendwelche Tipps / Tricks / Tutorials oder Bücherempfehlungen?

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
001
27.09.2001, 23:28
Hessie J.



Wenn Du es RICHTIG lernen willst (nicht so nen KlickiBunti-OnClick-Mist) kauf dir "Programming Windows" von Charles Petzold, oder auch "DIE BIBEL" genannt.

--

zum Seitenanfang zum Seitenende Profil || Suche
002
27.09.2001, 23:41
Retro



M'kay, ich schätze mal dass ist das Machwerk über 5000 Seiten?

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
003
28.09.2001, 06:59
Zeeke



Nope... ~1300 Seiten, ich habs auch =D

Kostet so 120 DM, lohnt sich aber...

--


Dieser Beitrag wurde am 28.09.2001 um 06:59 von ZeekeGF bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
28.09.2001, 14:00
Prefect



Ich hab ne einfachere und billigere Alternative:

Geh auf www.trolltech.com und hol dir die Windowsversion von Qt. Lies die Dokumentation von Qt durch, da ist ein sehr gutes Tutorial drin. Und schon hast du:
1. Das beste C++-GUI-Toolkit überhaupt.
2. Programme, die über Windows und Unix portabel sind.
3. Keine MICROSOFTARTIGEN-CAPSLOCK-VARIABLENTYPEN.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
005
29.09.2001, 11:39
Kriz



Nachdem das Wesen aus dem Springuinland (hehehe) gesprochen hat, spricht jetzt der Kuchen:

Unter VC++ 6.0 nimmst Du als Projekt den MFC-Applikations-Assistenten. Dort findest du deinen Klickibunti-Firlefanz. Ansonsten nimmst du eine normale Win32-Anwendung und programmierst dort mit der WinAPI oder mit der MFC (muß aber erst unter "Einstellungen" eingestellt werden).

Als Bücher empfehle ich dir wie schon gesagt Charles Petzolds Windows Programmierung (für WinAPI) oder Jeff Prosises Windows Programmierung mit der MFC (für MFC, och jo).

Ich persönlich bevorzuge den alten Stil: Jede Komponente von Hand einprogrammieren, denn der MFC-Assi erzeugt Unmengen an verdecktem Code, den Du nicht sehen wirst.

Desweiteren wie gehabt die vier interessantesten GUI-Formate:

WinAPI/MFC, Delphi, Java und QT

Cu

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
006
29.09.2001, 12:49
DarKnight



Delphi = Pascal = Götterdämmerung

Bloss die Hände weg vom veralteten und lahmen Pascal! Thx! :)

(Und wir müssen das bald in der Schule machen. Liegt aber nur daran dass diese verblödeten Lehrer nichts anderes verstehen können. ARGH!)

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
007
29.09.2001, 16:15
Kriz



Nanana Darky =) Phase 5² wurde in Delphi geschrieben, also kann es ja nicht sooo schlecht sein.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
008
29.09.2001, 16:47
DarKnight



sicher nicht shclecht, aber langsam :)

Das Proggie ist geil, aber dabei kommt es ja weniger aus Speed an....naja lassen wir das mal :)

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
009
29.09.2001, 20:59
TheTinySteini



Delphi is gar net langsam... weiß gar nicht, was für Gerüchte ihr immer in die Welt setzt. Sogar VBasic ist nicht lahm, das beweißt die Tatsache, dass es ein ziemlich geiles, freies Grafikprogramm (öh.. Namen und URL vergessen =) à la Photoshop gibt, das komplett in VBasic programmiert ist. Man muss halt unter VBasic auch alle Variablen deklarieren, sonst nimmt der "Variant", und das der Datentyp scheiß langsam ist, kann man sich ja an 3 Fingern abzählen.
Manches an Delphi ist umständlich oder inkonsequent, aber ich erinnere mal an vergangene Posts über C/C++...

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
010
29.09.2001, 21:41
DarKnight



Hmm also das würde ich nu doch mal gerne ausprobieren. Wie wärs mit ner Generierung von einer Million (Quasi-)Zufallszahlen mit Hilfe der HP Methode? Dann schauen wir mal wie lange das ganze dauert :)

Wer das in Delphi machen will kann sich ja hier melden. Wer nicht weiss wie die HP Methode funzt, soll auch fragen! Ich setz mich grade mal an das C Proggie, das das macht...

*endlichwissenwillobdiegeschwindigkeitsgerüchtestimmenodernicht* :))))

EDIT: Das Programm ist fertig. Erste Messungen gibt es schon. Nachher messe ich das mal ohne andere laufende Programme....

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?


Dieser Beitrag wurde am 29.09.2001 um 22:15 von DarKnight bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
29.09.2001, 22:19
Mazze



Interessant....seehr interessant.....
Sorry 4 spam!
Aber leider kann ich kein Delphi!
Allerdings sagt Retro von sich selber, dass er's gut kann!

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
012
29.09.2001, 22:43
Zeeke



Und TTT machts mal in VB..
Und Prefect macht das in Asm? (wenn das da überhaupt so einfach geht, kA) =)

Na dann mal los =D

Interessiert mich jetzt wirklich mal...

--


Dieser Beitrag wurde am 29.09.2001 um 22:44 von ZeekeGF bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
013
29.09.2001, 23:41
Retro



Also ich machs gerne in Delphi, endlich mal die ganzen Vorurteile ablegen! *g*

Aber ich weis halt net was die HP-Methode ist, also ne kurze aufklärung?

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
014
29.09.2001, 23:52
DarKnight



Also die HP Methode:

Es sei eine Fliesskommezahl X zwischen 0 und eins. Also zum Beispiel 0.31582516546

Dann gehst du in eine Schleife und rechnest X = (X+PI)^8

PI definierst du so: 3,1415926 (bitte nur diese Stellen und nicht mehr verwenden, sonst könnte dich die Performance wiederum ändern)

Dann wird der Gebrochene Anteil von dieser Zahl X genommen und dieser wird wieder am Anfang für die nächste Zahl verwendet.

Diese Schleife sieht in meinem Programm dann so aus:

Quellcode:
for(int i = 0; i < b; i++)
{
x = (float)pow(x + PI,  8);
x = x - int(x);
y += x;
}

Y verwende ich dafür alle Zufallszahlen zu addieren. Damit er auch was rechnet :)

Diese Zahl Y wird dann am Ende ausgegeben.

Vor der Schleife muss dann die Zeit in msec geholt werden:

Quellcode:
int time = GetTickCount();

und nach der Schleife wird die vergangene zeit berechnet:

Quellcode:
time = GetTickCount() - time;

Der Rest dürfte klar sein! Viel Spass.

Meine ersten Ergebnisse, allerdings noch unter zusätzlicher prozessorbelastung von Miranda ICQ liegen bei einer Million zufallszahlen zwischen 620 und 650 Millisekunden. Net shclecht, wa?

Und nochwas: lasst auf keinen Fall jede Zufallszahl ausgeben. Da skostet mächtig performance. Also nichts ausgeben während die Zeit läuft. Erst danach!

Wenn ihr eure proggies fertig habt könnt ihr sie mir geben. ich teste sie dann auf einem Duron 900 mit 128 MB Ram und Windows 98. So entstehen danna uch keine unterschiede durch verschiedenen Konfigurationen.

Viel Spass, Leute, der Sprachenwettbewerb hat begonnen!

EDIT: Ihr könnt mein Programm nun hier herunterladen: http://deltaeagle.gomp.net/PerfTest.exe

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?


Dieser Beitrag wurde am 30.09.2001 um 00:26 von DarKnight bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
015
30.09.2001, 00:26
Zeeke



Hab nun mal Darkis Prog auf meinem Rechner getestet (Duron 800 @ Win2k). Dauert immer ~400ms.

Dann hab ich das Prog mal selber geschrieben und mit Borland C++ 5.01 compiled, Zeit ~300ms. Dann hab ich den selben Quelltext mit MS V C++ 6.0 compiled, dann liegt die Zeit wieder so bei ~400ms.

Also: Borland ist schneller als MS =)

edit:
habs auch nochmal mit dev c++ (mingw32) compiled, ebenfalls ~400ms.

--


Dieser Beitrag wurde am 30.09.2001 um 00:47 von ZeekeGF bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
016
30.09.2001, 03:17
Retro



Puh, so ganzen blick ich da nicht durch, Power funzt zwar aber ... ach scheiße!

Kannste mal dein ganzes Programm posten Dark, sonst krieg ichs net hin.

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
017
30.09.2001, 10:00
anothergb02



Man ,ich rate allen Delphi schreibern, wenn die damit keine Windoof-anwendungen schreiben, dann aber sofort auf C++ 6.0 umsteigen !
Ich habe selber mit Delphi angefangen und bin dann nach nem 1/4 Jahr oder so "umgestiegen", weil man mit Delphi keine ordentlichen Proggs schreiben kann ! Da ist schon so viel im "Syntax", das die Proggs sowas von etzend langsam sind ! Ich hatte damit mal angefangen sone art Clonk zu proggen, als ich den Boden und die Figurne ph fertig hatte .... lief das zwar fluessig, aber sehr merkwuerdig kam mir doch schon vor, das der ca. 1 Sek zum Bodenzeichnen gebraucht hat (obwohle das nur ne 256 Schleife war):( AHHHRG, wenn ich damit nen 3D Game gecodet hätte, koennte man das ueberhaup nicht mehr spielen.

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
018
30.09.2001, 12:47
DarKnight



Okay Leute ich hab das Programm noch kräftig aufgestockt. Es ist jetzt ein kompletter Benchmark. Er misst 10 mal hintereinander die Zeit, bildet daraus den Durchschnitt zeigt es an und errechnet danach sowas wie Prozessormarks daraus. Ich finde dieser Algorithmus eignet sich sehr gut zum test, da hier die volle Fliesskommaleistung gebraucht wird.
Ausserdem habe ich nun einen Nanosekunden genauen Performance Counter eingebaut. Durch die hohe Auflösung sind nun auch wesentlich genauere Ergebnisse möglich!

Bei mir sind es nun nach 10 Messungen im Durchschnitt immer so 410 - 420 msec. Bei einem PIII 600 sind es ungefähr 680 - 690. Das zeigt dass zwischen einem PIII 600 und einem Duron in der Fliesskommaleistung doch ein sehr grosser Unterschied ist.

Das Benchmark findet ihr hier:

http://deltaeagle.gomp.net/Bench.exe

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
019
30.09.2001, 12:56
Zeeke



Die Berechnung von 1000000 Zufallszahlen hat im Durchschnitt 411 msec gedauert!
Ihr System hat damit einen Score von: 2428 (Duron 800 @ Win2k)

Achso, und Darki... du solltest mal zum Ende deines Programms noch die Funtkion getchar() verwenden, damit dein Proggie nicht sofort wieder verschwindet, so muss ich es immer umständlich über die win2k-Shell starten...

--

zum Seitenanfang zum Seitenende Profil || Suche
020
30.09.2001, 13:03
DarKnight



K werd eich bald mal machen :)

Wow zwischen nem 800 er und nem 900er kein unterschied! *wunder* :)

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche
021
30.09.2001, 13:04
Mazze



Diesen Test könnte man ja auch ausdehnen!
Ich denke da an Assembler,VB und C.
Bzw. C++ Wenn DarKnight schon C genommen hat!

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
022
30.09.2001, 13:30
Zeeke



@Mazze, genau das hatten wir vor, less mal weiter oben, lol

--

zum Seitenanfang zum Seitenende Profil || Suche
023
04.10.2001, 20:46
Pulsover



also mein Athlon mit 1000 mhz macht 2725 punkte
wie wärs mit liste???

--

Die Lösung aller Probleme nennt sich format c:
Blut,Blut, Räuber saufen Blut, Raub und Mord und Überfall sind gut, hoch vom Galgen klingt es, hoch vom Galgen klingt es, Raub und Mord und Überfall sind gut


Dieser Beitrag wurde am 04.10.2001 um 20:47 von Pulsover bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
024
04.10.2001, 20:55
DarKnight



Öööööööhm. Hm? Schreibt eure Scores doch einfach hier rein!

--

void CHudSayText :: EnsureTextFitsInOneLineAndWrapIfHaveTo( int line ) -- Aja?

zum Seitenanfang zum Seitenende Profil || Suche