Delphi-PRAXiS
Seite 2 von 3     12 3   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Joblist - Aufgabenplaner (https://www.delphipraxis.net/181932-joblist-aufgabenplaner.html)

freak4fun 19. Sep 2014 18:28

AW: Joblist - Aufgabenplaner
 
Zitat:

Zitat von AlexII (Beitrag 1273192)
Habe den Fehler aus Post #2 beseitigt... man war das eine Quälerei... :roteyes: Aber es läuft jetzt. :thumb: Jetzt sind die nächsten Tipps dran. :-D

Super, weiter so! :thumb:

AlexII 22. Sep 2014 10:51

AW: Joblist - Aufgabenplaner
 
Zitat:

Zitat von -=ZGD=- (Beitrag 1273072)
Guten Morgen.

Find´s gut.
Funktioniert.

Ich habe mir natürlich auch mal den Quelltext angeschaut.

Es gibt einige Dinge, die ich anders machen würde, da diese redundant sind.

Du hast zwei Funktionen, die bis auf die Reihenfolge der Selektierung die gleichen Felder abfragen. Einzige Unterschiede sind das Flag zum Einen und die Listview zum Anderen.

Besser wäre es, du würdest einfach einen Boolean übergeben und die ListView.

Delphi-Quellcode:
procedure LoadJobslistByStart(aClosedOnes: Boolean; aListView: TListView);
begin
  //Irgendwo unterscheidest du dann.
  ...
  + 'LEFT JOIN tbplace ON tbmain.fk_place_id=tbplace.id_tbplace WHERE flag = :flag';

  if aClosedOnes then
  begin
   SQLiteQuery1.ParamByName('flag').value:= 0;
  end
  else
  begin
   SQLiteQuery1.ParamByName('flag').value:= 1;
  end;

  //Weitere Verarbeitung
end;
Gruß,
Stefan

Äh.... sag ma und wie übergebe ich die Parameter? Etwa so?

Delphi-Quellcode:
// procedure aufrufen
LoadJobslistByStart(True, ListView1);

-=ZGD=- 22. Sep 2014 10:57

AW: Joblist - Aufgabenplaner
 
Zitat:

Zitat von AlexII (Beitrag 1273364)
Äh.... sag ma und wie übergebe ich die Parameter? Etwa so?

Delphi-Quellcode:
// procedure aufrufen
LoadJobslistByStart(True, ListView1);

Korrekt.

AlexII 22. Sep 2014 11:46

AW: Joblist - Aufgabenplaner
 
ok ))

-=ZGD=- 22. Sep 2014 11:52

AW: Joblist - Aufgabenplaner
 
Du verwendest in der Prozedur auch immer
Code:
ListView1
.
Du musst
Code:
aListView
verwenden, da so der Übergabeparameter/Variable heißt.

AlexII 22. Sep 2014 11:55

AW: Joblist - Aufgabenplaner
 
Zitat:

Zitat von -=ZGD=- (Beitrag 1273369)
Du verwendest in der Prozedur auch immer
Code:
ListView1
.
Du musst
Code:
aListView
verwenden, da so der Übergabeparameter/Variable heißt.

Ja hab's gemerkt. :-D

Mache jetzt noch die selber Geschichte für's Suchen und dann ist wohl alles ok bei mir, oder gibt's noch Vorschläge bzw. Kritik?

AlexII 30. Sep 2014 13:11

AW: Joblist - Aufgabenplaner
 
Ich nutze hier mehrere Querys (SQLQuery1 und SQLQueryCategory), wäre es auch nur mit einem gegangen?

Delphi-Quellcode:
    // -------------------------- Category ---------------------------------------
    // Kategorie leer
    if CategoryComboBox.Text = '' then
    begin
      Form1.SQLQuery1.ParamByName('fk_category_id').Clear;
    end else if (CategoryComboBox.Items.IndexOf(CategoryComboBox.Text) = -1) and (CategoryComboBox.Text <> '') then
    begin
      // Kategorie nicht vorhanden, also neue Kategorie in die DB schreiben
      Form1.SQLQueryCategory.Close;
      Form1.SQLQueryCategory.SQL.Text := 'INSERT INTO tbcategory VALUES(NULL, :category)';
      Form1.SQLQueryCategory.ParamByName('category').AsString := CategoryComboBox.Text;
      Form1.SQLQueryCategory.ExecSQL;
      Form1.SQLTransaction1.Commit;

      // Die letzte ID auslesen
      Form1.SQLQueryCategory.Close;
      Form1.SQLQueryCategory.SQL.Text := 'SELECT last_insert_rowid() as id_tbcategory FROM tbcategory';
      Form1.SQLQueryCategory.Open;
      CategoryLastID := Form1.SQLQueryCategory.FieldByName('id_tbcategory').AsInteger;
      Form1.SQLQuery1.ParamByName('fk_category_id').AsInteger := CategoryLastID;
    end else if CategoryComboBox.Items.IndexOf(CategoryComboBox.Text) >= 0 then
    begin
      // String in der CB vorhanden, ID zuweisen
      Form1.SQLQuery1.ParamByName('fk_category_id').AsInteger := Integer(CategoryComboBox.Items.Objects[CategoryComboBox.Items.IndexOf(CategoryComboBox.Text)]);
    end;
    // -------------------------- Ende Category ---------------------------------- 

    Form1.SQLQuery1.ExecSQL;
    Form1.SQLTransaction1.Commit;

AlexII 18. Nov 2014 15:16

AW: Joblist - Aufgabenplaner
 
Ich lasse jetzt die Anwendung mit Windows mithilfe der Registry starten, aber das Prog will bei dem Autostart die DB nicht laden, es kommt der Fehler:

Code:
EDatabaseError
SQLite3Connection1: unable to open database file
Hat jemand eine Idee wieso das passiert? Ich verstehe nicht was der Unterschied ist wenn ich die Anwendung manuell ausführe, oder das System macht das... hm... komisch.

mkinzler 18. Nov 2014 17:34

AW: Joblist - Aufgabenplaner
 
Möglicherweise ist die Datenbank noch nicht verfügbar oder die Anwendung wird in einem anderen Benutzerkontext gestartet

hathor 18. Nov 2014 18:24

AW: Joblist - Aufgabenplaner
 
Zitat:

Zitat von AlexII (Beitrag 1280216)
Ich lasse jetzt die Anwendung mit Windows mithilfe der Registry starten, ...

Ich finde das nicht sehr lustig, wenn jedes poplige Programm gleich mit dem WINDOWS-Start die Festplatte blockiert mit solchen Aktivitäten!

Damit verzögert sich der Boot-Vorgang des Betriebssystems.

Um es noch einmal ganz deutlich zu sagen:

Es ist SCHWACHSINNIG, das eigene Programm beim Boot-Vorgang zu laden und zu erwarten, dass alle Funktionen von WINDOWS gleich zur Verfügung stehen!

Lade es verzögert mit einem Timer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 Uhr.
Seite 2 von 3     12 3   

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