![]() |
Erklären
Kann mir bitte irgend jemand diesen Quellcode mit kommentaren in den zeilen ausfüllen kapiere ihn nicht im geringsten und es nützt mir nichts ihn einfach abzuschreiben.
Delphi-Quellcode:
var
frmConfig: TfrmConfig; implementation {$R *.dfm} uses IniFiles, uHelper, ShlObj; procedure TfrmConfig.btnCancelClick(Sender: TObject); begin Application.Terminate; end; procedure TfrmConfig.btnSaveClick(Sender: TObject); var fn: string; ini: TIniFile; begin fn := GetShellFolder(CSIDL_APPDATA) + '\CKAnts\'; ForceDirectories(fn); fn := fn + 'config.xml'; ini := TIniFile.Create(fn); ini.WriteInteger('main', 'fillmode', cbxMode.ItemIndex); ini.WriteInteger('main', 'bgcol', cbxBG.Selected); ini.WriteInteger('main', 'antcol', cbxAnts.Selected); ini.WriteBool('main', 'antrnd', cbRndAnt.Checked); ini.WriteBool('main', 'usescreen', cbScreenshot.Checked); ini.WriteBool('main', 'extonmouse', cbExitOnMouse.Checked); ini.Free; Application.Terminate; end; procedure TfrmConfig.cbRndAntClick(Sender: TObject); begin cbxAnts.Enabled := not cbRndAnt.Checked; end; procedure TfrmConfig.cbScreenshotClick(Sender: TObject); begin //cbxBG.Enabled := not cbScreenshot.Checked; end; procedure TfrmConfig.FormCreate(Sender: TObject); var fn: string; ini: TIniFile; begin ShowWindow( Application.Handle, SW_HIDE ); SetWindowLong( Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); ShowWindow( Application.Handle, SW_SHOW ); fn := GetShellFolder(CSIDL_APPDATA) + '\CKAnts\'; ForceDirectories(fn); fn := fn + 'config.xml'; ini := TIniFile.Create(fn); cbxMode.ItemIndex := ini.ReadInteger('main', 'fillmode', 1); cbxBG.Selected := ini.ReadInteger('main', 'bgcol', clblack); cbxAnts.Selected := ini.ReadInteger('main', 'antcol', clred); cbRndAnt.Checked := ini.ReadBool('main', 'antrnd', False); cbScreenshot.Checked := ini.ReadBool('main', 'usescreen', True); cbExitOnMouse.Checked := ini.ReadBool('main', 'extonmouse', True); ini.Free; end; end. |
Re: Erklären
Sollen wir wirklich jede Zeile kommentieren? Sag doch lieber, was Du nicht verstehst.
|
Re: Erklären
Ich verstehe vom ganzen code 2 zeilen und sonst nix
|
Re: Erklären
Ok, da wiederholt sich aber einiges.
|
Re: Erklären
Ich habe den Code net geswchrieben net meine schuld danke wenn du ihn für dumme (also für mcih übersetzt)
|
Re: Erklären
Delphi-Quellcode:
Noch mehr Hilfe wäre unangebarcht du hast auch eine Hilfe in Delphi. Die bringt die Sachen schon auf den Punkt.
procedure TfrmConfig.btnCancelClick(Sender: TObject);
begin Application.Terminate; //Programm beenden (sollte man aber nicht so machen; wer steigt schon mit dem Schleudersitz aus nem Flugzeug aus) end; procedure TfrmConfig.btnSaveClick(Sender: TObject); var fn: string; ini: TIniFile; begin fn := GetShellFolder(CSIDL_APPDATA) + '\CKAnts\'; //gibt ../Eigene Dateien/Anwendungsdaten zurück und hängt noch CKAnts an ForceDirectories(fn); //Wenn die Verzeichnisse noch nicht existieren, werden sie angelegt fn := fn + 'config.xml'; ini := TIniFile.Create(fn); //Ini-Datei öffnen ini.WriteInteger('main', 'fillmode', cbxMode.ItemIndex); //und ini befüllen (näheres siehe Hilfe) ini.WriteInteger('main', 'bgcol', cbxBG.Selected); ini.WriteInteger('main', 'antcol', cbxAnts.Selected); ini.WriteBool('main', 'antrnd', cbRndAnt.Checked); ini.WriteBool('main', 'usescreen', cbScreenshot.Checked); ini.WriteBool('main', 'extonmouse', cbExitOnMouse.Checked); ini.Free; Application.Terminate; //Schleudersitz end; procedure TfrmConfig.cbRndAntClick(Sender: TObject); begin cbxAnts.Enabled := not cbRndAnt.Checked; end; procedure TfrmConfig.cbScreenshotClick(Sender: TObject); begin //cbxBG.Enabled := not cbScreenshot.Checked; end; procedure TfrmConfig.FormCreate(Sender: TObject); var fn: string; ini: TIniFile; begin //3 Befehle um den TaskbarEintrag zu verstecken (Warum vorher das Fenster verschwinden [SW_Hide] soll, weiß ich nicht) ShowWindow( Application.Handle, SW_HIDE ); SetWindowLong( Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); ShowWindow( Application.Handle, SW_SHOW ); //wie oben, nur jetzt aus ini lesen fn := GetShellFolder(CSIDL_APPDATA) + '\CKAnts\'; ForceDirectories(fn); fn := fn + 'config.xml'; ini := TIniFile.Create(fn); cbxMode.ItemIndex := ini.ReadInteger('main', 'fillmode', 1); cbxBG.Selected := ini.ReadInteger('main', 'bgcol', clblack); cbxAnts.Selected := ini.ReadInteger('main', 'antcol', clred); cbRndAnt.Checked := ini.ReadBool('main', 'antrnd', False); cbScreenshot.Checked := ini.ReadBool('main', 'usescreen', True); cbExitOnMouse.Checked := ini.ReadBool('main', 'extonmouse', True); ini.Free; end; end. |
Re: Erklären
Also beim Meißten hilft die OH ... einfach mal da reinschauen was die zu den befehlen sagt
und du solltest das leicht rausbekommen. bei ShowWindow SetWindowLong GetWindowLong ShowWindow hilft das MSDN, aber in Kurz: dieses stellt wohl die Fensterdarstellung um (auf ToolWindow), auch wenn ich nicht ganz weiß, warum man dafür nicht die entpsrechende VCL-Eigenschafft benutzt :gruebel: [add]ahhh *an kopf hau* ShowWindow: nja, vielleicht will jemand sicherstellen, daß der Eintrag wirklich verschwindet, aber bei 'nem eh nicht sichtbarem Fenster wohl wirklich "unnütz"[/add] wo hast du denn den Code her? (am Einfachsten ist es ja den Ersteller zu fragen, wenn man was nicht weiß und es selber nicht rausbekommt) |
Re: Erklären
Zitat:
Ich würde meinen da gibts hier nen Thread zu, wo dieses Programm vorgestellt/... wird. |
Re: Erklären
jetzt wo du's sagst ... stümmt, der zuschnelle AmeisenSchoner von (vor)gestern oder so ... hab da aber nicht weiter reingeguckt :stupid:
|
Re: Erklären
jetzt noch eine frage was von diesen ganzen code bracuhe ich wenn cih einen anderen screensaver erstellen möchte also keine ameisen
|
Re: Erklären
Delphi-Grundwissen (nicht böse gemeint).
|
Re: Erklären
Delphi Grundwissen ist gut gemeint der lehrer der uns dass bei bringt ist ein riesen a...... und voll.....bei ihm lernt man so gut wie nix
|
Re: Erklären
Sehen wir mal von Deinem Lehrer ab (egal, wie gut oder schlecht der nun ist), erscheint mir persönlich nach den ersten Eindrücken Deiner Programmiererfahrung ein Screensaver etwas hoch gegriffen. Fang doch besser erstmal klein an, der Rest kommt mit der Zeit, schließlich ist noch kein Meister vom Himmel gefallen. Ich persönlich hatte nie einen Lehrer, nur Bücher und Foren und komme mittlerweile auch ganz gut zurecht, obwohl ich bei manchen Codes in diesem Forum nur noch mit den Ohren schlackern kann.
|
Re: Erklären
Dass Proplem habe null ahnug was ich programmieren soll außerdem fehlen mir viele grundlagen
|
Re: Erklären
Der Code hat nichts mit dem Bildschirmschoner zu tun, also für einen Eigenen brauchst du eigentlich garnichts davon, oder alles ...
Dieses ist nur der Options-Dialog, also das wo Einstellungen gespeichert/gelesen/geändert werden. > schau dir mal den restlichen Code an |
Re: Erklären
Das Problem kennt wohl jeder Anfänger: "was soll ich programmieren"? Ich denke, die SuFu sollte dazu eine Menge ausspucken. Und Deine erste Anlaufstelle sollte erstmal die Online-Hilfe sein. Sollte diese sich unklar ausdrücken (das kommt vor, ich weiß das), kannst Du gerne hier nachfragen, und auch dann, wenn Du ein logisches Problem hast. Aber bitte zeige dann Deinen bisherigen Quellcode zum Problem, das wird hier oftmals vergessen. Und nie den Kopf hängen lassen, möglich ist (fast) alles ;)
|
Re: Erklären
Hi,
guck dich mal auf ![]() MfG Carlo |
Re: Erklären
Aber (wenn ich mir den Code-Teil anseh) dann könnte es nicht schlecht sein, wen dich hier auch mal nach anderen ScreenSavern umschaust.
> ein ständig geladener Optionsdialog :shock: außerdem kannst du dann auch vergleichen und Gemeinsamkeiten erkennen. und wenn ich mich nicht irre, dann gibt/gab es hier in der DP auch irgendwo ein Tutorial zu dem Thema. |
Re: Erklären
Zitat:
|
Re: Erklären
Hier fehlen einfach die Grundlagen, da hilft kein Verweis
auf andere Screensavertutorials (was für ein Wort) sondern nur... ![]() ![]() ![]() |
Re: Erklären
Zitat:
Zitat:
In der Schule war ich unseren Info-Lehrern immer um längen vorraus. Ich hab mich gelangweilt im Unterricht. Ergo hab ich von denen auch nix gelernt. Damals gabs bei uns noch nichtmal Internet. Ich hab mir dann Bücher gekauft und gelesen, Codebeispiele darin abgeschrieben, nachgemacht, versucht zu verstehen. Meist hat man auch irgendein Spiel-Projekt in solchen Büchern. Da kann man ne Menge lernen. Aber was man dazu auf jeden Fall braucht - und das kann einem auch kein Lehrer geben - ist Geduld, Zeit und den Willen dazu, den Weg zu gehen. Klingt vielleicht voll philosophisch. Aber auch hier gilt: Von nix kommt nix. Mit 15 hast du auch das richtige frische Alter dazu. Ich hab mit 14 angefangen. :P |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
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