Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi [SUCHE] Mentor/Meister /Leherer (https://www.delphipraxis.net/131264-%5Bsuche%5D-mentor-meister-leherer.html)

Luckie 22. Mär 2009 13:43

Re: [SUCHE] Mentor/Meister /Leherer
 
Zitat:

Zitat von Matze
Wenn du magst, Gabberjool, kannst du mich ab und zu über ICQ anschreiben (oder auch per PN).

Aber gerade deswegen ist ja das Forum da. Zum einem können dann auch andere davon profitieren und das Wissen bleibt erhalten. So dass man es wiederfindet und man nicht immer wieder die gleichen Fragen stellen muss -- soweit die Theorie. ;)

Deswegen beantworte ich auch keine Fachfragen in PNs oder E-Mail, sondern verweise dann immer auf das Forum.

craash 22. Mär 2009 14:34

Re: [SUCHE] Mentor/Meister /Leherer
 
@Gabberjool:
Wie wärs wenn du dir mal ein Buch oder sowas zulegst? :)

Wenn du, wie du in nahezu jedem Beitrag betonst, tiefer in die Materie gehen willst, könnte es durchaus nicht schaden sich von der Pike auf gründlich mit Delphi (bzw. Programmierkonzepten an sich) zu beschäftigen.
[Hatte ich da nicht vor kurzem einen Thread gesehen wie "Programmierbücher die man gelesen haben muss" ? :gruebel: ]


Greetz

Meflin 22. Mär 2009 14:52

Re: [SUCHE] Mentor/Meister /Leherer
 
Zitat:

Zitat von craash
Hatte ich da nicht vor kurzem einen Thread gesehen wie "Programmierbücher die man gelesen haben muss" ? :gruebel:

Jo, die waren aber jetzt nicht unbedingt Einsteigerliteratur ;)

oki 22. Mär 2009 15:20

Re: [SUCHE] Mentor/Meister /Leherer
 
Ich denke, um zu lernen, was boolsche Typen und Strings sind oder wann und warum man case verwendet tut es auch ein einfaches Tutorial. Ich denke diese Grundlagen (Typen, Anweisungen usw.) hat man innerhalb kürzester Zeit drauf. Dann kann es sicher schnell ans Eingemachte gehen. Und so wie er schreibt hat er ja schon Programmiererfahrung. Es wohl nur an den Basisdingen speziell zu Delphi zu mangeln. Das ist dann sicher schneller gelesen und begriffen als hier erklärt. Wenn dann was nicht klar wird ist eine Erläuterung des wenn und aber hier schneller getan.

Gruß oki

Gabberjool 22. Mär 2009 23:00

Re: [SUCHE] Mentor/Meister /Leherer
 
Hey erstmal danke für die viele antworten und informationen.
Ich lese im moment viele dokumentationen:

wie:
Zitat:

Vieweg - Grundkurs Programmieren mit Delphi 2.Auflage
Sams - Borland Delphi 6 Developers Guide
Addison Wesley - Delphi 6.0
Programmierkurs Delphi 1.1
Thomas Binzinger (Markt und Technik) - Jetzt lerne ich Delphi

Jedoch sparen die leute an beispielen. ^^

-----------------------------------------------------------------------------
Ach sooooo.....

Zitat:

StrToInt = String nach Integer
IntToStr = Integer nach String
da wird mir einiges klarer. Danke !

Dunkel 22. Mär 2009 23:26

Re: [SUCHE] Mentor/Meister /Leherer
 
Zitat:

Zitat von Gabberjool
Ach sooooo.....

Zitat:

StrToInt = String nach Integer
IntToStr = Integer nach String
da wird mir einiges klarer. Danke !

Hmmm... IMHO ist die englische Sprache immens wichtig wenn man programmieren möchte. Nicht nur, dass das Gros der Dokumentation, der Literatur und der Beiträge Dritter, welche man im Internetz findet, in dieser Sprache verfasst sind, auch nahezu alle Programmiersprachen benutzen die englische Sprache als syntaktisches Element und bedienen sich des Vokabulars für den Großteil der Befehle.
Wenn man der englischen Sprache nicht (einigermaßen) mächtig ist, artet das Lernen einer Programmiersprache schnell zum stupiden Vokabel-lernen aus, man kommt gar nicht mehr dazu sich die Syntax der Sprache anzueignen. Ergo, zuerst Englisch lernen, dann programmieren. :zwinker:

Gabberjool 22. Mär 2009 23:40

Re: [SUCHE] Mentor/Meister /Leherer
 
Zitat:

Zitat von Satty67
Ohne die Funktion zu bewerten..
Delphi-Quellcode:
begin
  Probar1.Position := Probar1.Position +1;

  case Probar1.Position of
    10:Begin
      bsSkinCheckRadioBox1.Checked := true;
      bsSkinButton2.Visible := true;
    end;
    20: Begin
      bsSkinCheckRadioBox3.Checked := true;
      bsSkinButton1.Visible := true; sleep(900);
    end;
    40: Begin
      bsSkinCheckRadioBox2.Checked := true;
      bsSkinButton3.Visible := true; sleep(1900);
    end;
    82: Begin
      bsSkinCheckRadioBox4.Checked := true;
      bsSkinButton4.Visible := true;
    end;
    99: Begin
      positiv.Visible := True;
      negativ.Visible := False; sleep(1900);
    end;
    100: begin
      bsSkinCheckRadioBox5.Checked := true;
      Timer1.Enabled := false;
      Probar1.Position := 100; // davon kann man ausgehen
      bsSkinButton2.Enabled := True;
      bsSkinButton1.Enabled := True;
      bsSkinButton3.Enabled := True;
      bsSkinButton4.Enabled := True;
      // Teil 2
      Assistant1.MsgDlg.Title := 'Installation Beendet !';
      Assistant1.MessageDlg(Msg, mtInformation, [mbOK], 0);
      Assistant1.Visible := True;
    end;
  end;

  Application.ProcessMessages;
end;

hat supper geklappt danke nun verstehe ich die case funktion denk ich mal.

Gabberjool 22. Mär 2009 23:54

Re: [SUCHE] Mentor/Meister /Leherer
 
Zitat:

Zitat von Dunkel
Zitat:

Zitat von Gabberjool
Ach sooooo.....

Zitat:

StrToInt = String nach Integer
IntToStr = Integer nach String
da wird mir einiges klarer. Danke !

Hmmm... IMHO ist die englische Sprache immens wichtig wenn man programmieren möchte. Nicht nur, dass das Gros der Dokumentation, der Literatur und der Beiträge Dritter, welche man im Internetz findet, in dieser Sprache verfasst sind, auch nahezu alle Programmiersprachen benutzen die englische Sprache als syntaktisches Element und bedienen sich des Vokabulars für den Großteil der Befehle.
Wenn man der englischen Sprache nicht (einigermaßen) mächtig ist, artet das Lernen einer Programmiersprache schnell zum stupiden Vokabel-lernen aus, man kommt gar nicht mehr dazu sich die Syntax der Sprache anzueignen. Ergo, zuerst Englisch lernen, dann programmieren. :zwinker:

Ich weiss nicht woraus du schlisst das ich kein english können sollte... muss sich jedoch enttäuscht lese sehr vieles in english, da wie du sagst die meisten Informationen auf English zu finden sind.

Gabberjool 23. Mär 2009 00:14

Re: [SUCHE] Mentor/Meister /Leherer
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Satty67
Ohne die Funktion zu bewerten..
Delphi-Quellcode:
begin
  Probar1.Position := Probar1.Position +1;

  case Probar1.Position of
    10:Begin
      bsSkinCheckRadioBox1.Checked := true;
      bsSkinButton2.Visible := true;
    end;
    20: Begin
      bsSkinCheckRadioBox3.Checked := true;
      bsSkinButton1.Visible := true; sleep(900);
    end;
    40: Begin
      bsSkinCheckRadioBox2.Checked := true;
      bsSkinButton3.Visible := true; sleep(1900);
    end;
    82: Begin
      bsSkinCheckRadioBox4.Checked := true;
      bsSkinButton4.Visible := true;
    end;
    99: Begin
      positiv.Visible := True;
      negativ.Visible := False; sleep(1900);
    end;
    100: begin
      bsSkinCheckRadioBox5.Checked := true;
      Timer1.Enabled := false;
      Probar1.Position := 100; // davon kann man ausgehen
      bsSkinButton2.Enabled := True;
      bsSkinButton1.Enabled := True;
      bsSkinButton3.Enabled := True;
      bsSkinButton4.Enabled := True;
      // Teil 2
      Assistant1.MsgDlg.Title := 'Installation Beendet !';
      Assistant1.MessageDlg(Msg, mtInformation, [mbOK], 0);
      Assistant1.Visible := True;
    end;
  end;

  Application.ProcessMessages;
end;



Hey danke du hast mir das so gut erklärt ! Checke das echt total gut, ..also ich denke ich check es gut habs nun so hingekrigt mit rum testen.
oder ist das wider zu umständlich?

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Probar1.Value := Probar1.Value +1;
case Probar1.Value of
   0..3, 5: begin Label1.Caption := 'Archive werden gesucht'; end;
   6..9, 11: begin Label1.Caption := 'Archive werden Entpackt.'; end;
  13..45, 47: begin Label1.Caption := 'Dateien werden installiert.'; end;
  48..76, 79: begin Label1.Caption := 'Verknüpfungen werden erstellt.'; end;
  80..89, 91: begin Label1.Caption := 'Registry wird geschriben.'; end;
  92..99, 100: begin Label1.Caption := 'Installation beendet.'; end; end;

  Application.ProcessMessages; end;

EDIT

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Probar1.Value := Probar1.Value +1;
case Probar1.Value of
   0..3, 5: begin Label1.Caption := 'Archive werden gesucht'; sleep(1900); end;
   6..9, 11: begin Label1.Caption := 'Archive werden Entpackt.'; sleep(1400); end;
  13..45, 47: begin Label1.Caption := 'Dateien werden installiert.'; sleep(100); end;
  48..76, 79: begin Label1.Caption := 'Verknüpfungen werden erstellt.'; sleep(1900); end;
  80..89, 91: begin Label1.Caption := 'Registry wird geschriben.'; sleep(2900); end;
  92..99, 100: begin Label1.Caption := 'Installation beendet.'; end; end;

  Application.ProcessMessages; end;
Für was ist eigentlich Application.ProcessMessages wichtig... den es Funktioniert auch wen ich es weg lasse.


Das ist zwar eine gut simulation doch ich will eigentlich ein Richtigen Progressbar der durch die Daten-Menge bestimmt wird.

Lg
ralf

mkinzler 23. Mär 2009 06:30

Re: [SUCHE] Mentor/Meister /Leherer
 
Zitat:

Für was ist eigentlich Application.ProcessMessages wichtig... den es Funktioniert auch wen ich es weg lasse.
Das Anwendungsobjekt wird angewiesen, die Windowsnachrichten abzuarbeiten. Wenn umfängliche Berechnungen getätigt werden, macht dieses das eine Weile nicht.

Gabberjool 27. Mär 2009 23:29

Re: [SUCHE] Mentor/Meister /Leherer
 
push

Mithrandir 27. Mär 2009 23:41

Re: [SUCHE] Mentor/Meister /Leherer
 
Um halb eins zu pushen ist natürlich immer sehr geschickt... :mrgreen:

Aber warum pushen? Hier ist doch keine Frage mehr offen, oder?

Zitat:

Das ist zwar eine gut simulation doch ich will eigentlich ein Richtigen Progressbar der durch die Daten-Menge bestimmt wird.
Na dann, hepp.. ;) Die wichtigsten Stichworte zum Googeln hast du ja schon selbst genannt... ;)

jaenicke 27. Mär 2009 23:41

Re: [SUCHE] Mentor/Meister /Leherer
 
Wenn die Position der ProgressBar den Ladefortschritt anzeigen soll, dann musst du die Position auch beim Laden entsprechend setzen.

Zum Beispiel bei einer Kopierroutine:
Erste Datei kopieren
Position der ProgressBar erhöhen
Nächste Datei kopieren
Position der ProgressBar erhöhen
...

Dabei muss man eben schauen, welcher Vorgang anteilig wie lange dauert und dementsprechend die Position hochsetzen.

Gabberjool 27. Mär 2009 23:45

Re: [SUCHE] Mentor/Meister /Leherer
 
Zitat:

Zitat von Daniel G
Um halb eins zu pushen ist natürlich immer sehr geschickt... :mrgreen:

Aber warum pushen? Hier ist doch keine Frage mehr offen, oder?

Zitat:

Das ist zwar eine gut simulation doch ich will eigentlich ein Richtigen Progressbar der durch die Daten-Menge bestimmt wird.
Na dann, hepp.. ;) Die wichtigsten Stichworte zum Googeln hast du ja schon selbst genannt... ;)

Ja ich weiss bisschen spät aber ich hoch ganzen Tag am Delphi und in letzten Sekunde geht nicht's mehr.

Zitat:

Zitat von jaenicke
Wenn die Position der ProgressBar den Ladefortschritt anzeigen soll, dann musst du die Position auch beim Laden entsprechend setzen.

Zum Beispiel bei einer Kopierroutine:
Erste Datei kopieren
Position der ProgressBar erhöhen
Nächste Datei kopieren
Position der ProgressBar erhöhen
...

Dabei muss man eben schauen, welcher Vorgang anteilig wie lange dauert und dementsprechend die Position hochsetzen.

Also ist das eig. bei einer normalen Installation eig. auch nur eine Simulation.....

Mithrandir 27. Mär 2009 23:49

Re: [SUCHE] Mentor/Meister /Leherer
 
Zitat:

Zitat von Gabberjool
Also ist das eig. bei einer normalen Installation eig. auch nur eine Simulation.....

:?:

Wo wird da was simuliert?

jaenicke 27. Mär 2009 23:50

Re: [SUCHE] Mentor/Meister /Leherer
 
Zitat:

Zitat von Gabberjool
Also ist das eig. bei einer normalen Installation eig. auch nur eine Simulation.....

Es ist ein Versuch möglichst gut die Dauer der einzelnen Vorgänge vorherzusehen und so den Fortschritt möglichst gut zu visualisieren.

Da man zwischen manchen Vorgängen kein Positionsupdate machen kann und manche unerwartet lange dauern, springt die Anzeige meistens etwas. Man muss eben versuchen das möglichst gut hinzubekommen.

Gabberjool 27. Mär 2009 23:56

Re: [SUCHE] Mentor/Meister /Leherer
 
wie gesagt meine frag ist wie ich so was Visualisiere ... auch über case ?

jaenicke 27. Mär 2009 23:59

Re: [SUCHE] Mentor/Meister /Leherer
 
Mach doch erst einmal deinen normalen Ablauf fertig. Schau, ob der so lange dauert, dass du eine Fortschrittsanzeige brauchst (denn die braucht auch Zeit), und wenn ja, dann füge diese ein.

Wenn du den Quelltext ansonsten fertig hast, dann musst du dazwischen ja nur an günstigen Positionen die Position der ProgressBar setzen.

Gabberjool 28. Mär 2009 00:05

Re: [SUCHE] Mentor/Meister /Leherer
 
ja es braucht eine, da ich eine Installation machen will *Manuel *

jaenicke 28. Mär 2009 00:09

Re: [SUCHE] Mentor/Meister /Leherer
 
Das heißt ja nicht, dass die so lange dauert, dass du eine Fortschrittsanzeige brauchst. ;-)

Aber generell habe ich ja gesagt wie. Kopiere die erste Datei, setz die Position z.B. auf 20, kopiere die zweite, setz auf 50, die dritte 80, Registryeinträge machen, einrichten, usw., 95 usw.

Gabberjool 28. Mär 2009 00:28

Re: [SUCHE] Mentor/Meister /Leherer
 
sry hab das wohl ganz vergessen anzugeben ich bin ein anfänger und schnall mit deiner aussage rein garnix....

Beispiel-Code wäre von Vorteil

jaenicke 28. Mär 2009 01:43

Re: [SUCHE] Mentor/Meister /Leherer
 
Dann zeig doch einfach einmal den Code, der bei dir währenddessen so lange dauert, dass eine Fortschrittsanzeige nötig ist. Da gibts nicht viel zu ändern dann.
Delphi-Quellcode:
CopyFile(...)
ProgressBarX.Position := 20;
Application.ProcessMessages; // damit dein Programm noch reagiert
CopyFile(...)
ProgressBarX.Position := 50;
Application.ProcessMessages; // damit dein Programm noch reagiert
Und so weiter. Du musst die Position eben zwischen deinem restlichen Code setzen.

Gabberjool 28. Mär 2009 04:50

Re: [SUCHE] Mentor/Meister /Leherer
 
ach so.. also wider genau wie die Simulation, ausser das ich zwischen den Begin end; Blöcke das kopieren rein schreib....

was meinst du damit:
Delphi-Quellcode:
Application.ProcessMessages; // damit dein Programm noch reagiert
hab schon mal gefragt was das ist aber ich verstehe es nicht....

jaenicke 28. Mär 2009 05:03

Re: [SUCHE] Mentor/Meister /Leherer
 
Was du sicherlich weißt: Windows funktioniert mit Botschaften, die im Hintergrund zwischen Fenstern ausgetauscht werden. Dafür hat ein Programm eine Botschaftenwarteschlange, in der die Botschaften ankommen. Von dort werden sie dann abgeholt und ausgewertet.

Solange du jetzt Code ausführst, können diese Botschaften nicht verarbeitet werden. Deshalb sieht es für das System so aus als wäre die Anwendung abgestürzt, denn diese reagiert nicht mehr auf die an sie gesendeten Botschaften. Zu den Botschaften gehören auch die Botschaften, die das Neuzeichnen des Fensters verursachen würden. Das heißt Änderungen, die du an der Oberfläche (Labels, ...) vornimmst, werden auch zunächst nicht sichtbar.

Durch das Aufrufen von Application.ProcessMessages wird die Botschaftenwarteschlange abgearbeitet und die darin aufgelaufenen Botschaften werden verarbeitet. Deshalb sieht die Anwendung nach außen hin wieder reagierend aus und die Oberfläche wird ggf. neu gezeichnet.

Gabberjool 28. Mär 2009 05:56

Re: [SUCHE] Mentor/Meister /Leherer
 
WOW... echt nett, für die ausführliche Erklärung. Und jetzt ist es, auch mir klar wofür das ist....

BESTEN DANK

Gabberjool 6. Jul 2009 09:18

Re: [SUCHE] Mentor/Meister /Leherer
 
4monate später....

So hab Sau viel gelesen versteh auch 1000mal mehr als vorher. Hab schon unzählige Tools fertig gestellt ohne irgendwelche fragen zu stellen jedoch stellt sich mir momentan ein Problem.

1.
Ich Bau gerade an meinem eigenen Buchhaltung's Programm Rum und es funktioniert auch sehr gut, da ich aber über die Listbox die Einträge mache und das nicht so schön ausschaut würd ich halt gern das gazne über sheets erstellen jedoch kann ich die sheets noch so ansprechen wie ich will die reagieren nicht drauf oder der Compiler spuckt Fehler aus.
(jedoch mehr dazu wenich mit meinem pc wider Online bin)....

2.
Hab ich noch eine frage durch die Tutorials usw weiss ich ja wie man procedure anlegt und Funktionen jetzt aber wen ich eine normale Prozedur wie z.b. eines Editors für das Neu,öffnen,Speichern schreib:
Delphi-Quellcode:
Private
  procedure DateiDialog(sender: TObject);

procedure TForm1.DateiDialog(sender: TObject);
begin
  case TComponent(sender).Tag of
    1:
    begin
   Memo.Clear;
   FileName:='Neue Date.txt';
     end;
   
    2:
    begin
    if openDialog.execute then
   begin
   Memo.lines.loadFromFile(OpenDialog.FileName);
    FileName:=OpenDialog.FileName;
   StatusBar.Panels[0].Text.FileName;
   end;
   
    3:
    begin
   FileName:=SaveDialog.FileName;
   SaveDialog.InitiDir:=ExtractPath(SaveDialog.fileName);
   if SaveDialog.execte then
     begin
     memo.lines.savetofile(SaveDialog.FileName);
     FileName:=SaveDialog.Filename;
     Statusbar.panles[0].text:=filename;
  end;
end;


procedure TForm1.button1click(Sender: TObject);
begin
  DateiDialog(Sender);
end;
(weiss nicht ob der Code 100% grammatikalisch stimmt hab es aus dem Kopf geschrieben)

Ist es besser das ganze in einer Prozedur zu halten oder auf jeden einzelnen Button zu schreiben...
oder ist der Sinn eine Prozedur nur das es halt einfach ist wen man es mehrmals verwendet.
(hab zurzeit kein Internet sehe also heute bis 12:00 und dann erst am 10.August bis dann danke schon mal für die antworten... great

Codewalker 6. Jul 2009 10:07

Re: [SUCHE] Mentor/Meister /Leherer
 
Im Prinzip ist es Geschmackssache. Ich persönlich würde jeweils eine eigene Methode dafür schreiben - zumal Öffnen und Speichern inhaltlich unterschiedliche Dinge machen und das ganze ja auch mal aufwändiger werden kann. Dann ist eine Riesen-Methode schwerer zu durchblicken. Ich weiß ja nicht, wie dein Programm aussieht, aber mit einem ActionManager und Actions kann viel zusätzliche Arbeit gerade bei Öffnen/Speichern/etc. vermeiden.

Gabberjool 6. Jul 2009 12:03

Re: [SUCHE] Mentor/Meister /Leherer
 
ja das klar das mach ich normal auch über den aktionmanager hatte nur Grad kein andre Beispiel code zu hand oder so...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz