kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Destructor in Delphi

    geschrieben von deddyh

    Man könnte aber auch auf das Array verzichten und stattdessen eine TObjectList verwenden (Unit Contnrs). Im Destruktor der enthaltenden Klasse muss man dann nur diese freigeben, sofern man den optionalen Parameter OwnsObjects in deren Konstruktor auf der Standardeinstellung true belässt. Mögliche Vorgehensweise:
    uses ..., Contnrs;
    
    type
      TUnterklasse = class
      ...
      end;
    
      TDeineKlasse = class
      private
        FObjects: TObjectList;
        function GetObject(Index: integer): TUnterklasse;
        ...
      public
        constructor Create;
        destructor Destroy; override;
        property Objects[Index: integer]: TUnterklasse read GetObject; default;
        ...
      end;
    
    constructor TDeineKlasse.Create;
    begin
      inherited;
      FObjects := TObjectList.Create;
      ...
    end;
    
    destructor TDeineKlasse.Destroy;
    begin
      FObjects.Free;
      ...
      inherited;
    end;
    
    function TDeineKlasse.GetObject(Index: integer): TUnterklasse;
    begin
      if (Index < 0) or (Index >= FObjects.Count) then
        raise EListError.Create('Index außerhalb des gültigen Bereichs');
      Result := FObjects[Index] as TUnterklasse;
    end;
  • in: Button lässt Programm abstürzen

    geschrieben von deddyh

    Die Konstante LF gibt es schon als sLineBreak ;). Das "with" würde ich schnell wieder vergessen, da es einzig der Schreibfaulheit dient und ansonsten eher nachteilig ist (erschwertes Debugging, Verwechslungsgefahren, etc.). Und bitte niemals relative Pfade verwenden, da diese sich auf das aktuelle Arbeitsverzeichnis beziehen, welches aber z.B. durch einen OpenDialog geändert werden kann. Übrigens: wieso verwendest Du ein statisches Array für die Logins? Ein dynamisches Array oder eine TList wären doch viel flexibler.
  • in: FoxPro-Tabellen mit Delphi lesen?

    geschrieben von deddyh

    Der Link hat mit Delphi aber nichts zu tun, dort geht es um Advantage. AFAIK gibt es aber einen ODBC-Treiber für Foxpro, über den kann Delphi auch Zugriff auf Foxpro erhalten.
  • in: Free Pascal dynamische Arrays

    geschrieben von deddyh

    Ich bin nicht sicher, ob das unter FreePascal genauso geht, aber unter Delphi würde ich sicherheitshalber immer über Low(), High() und Length() auf Arrays zugreifen.
    SetLength(Array, 5);
    for i := Low(Array) to High(Array) do
      MachwasmitElement(Array[i]);

    Das funktioniert immer, egal, ob es sich um ein statisches oder dynamisches Array handelt und wie es indiziert wurde.
  • in: Welche relationale Datenbank nutzt ihr?

    geschrieben von deddyh

    Blöd, dass keine Mehrfachnennung möglich ist. Beruflich nutzen wir MSSQL und Oracle, auf der Website ist es wie allgemein üblich MySQL, privat nehme ich am liebsten Firebird.
  • in: Smart Mobile Studio - Object Pascal for JavaScript

    geschrieben von deddyh

    Wo sind denn die Vorteile gegenüber z.B. Morfik, die die Investition rechtfertigen würden?
  • in: Abfrage von MySQL

    geschrieben von deddyh

    Ungetestet:
    SELECT 
      AL.Name, A.Uhrzeit
    FROM
      Alias AL
    JOIN 
      Aufträge A ON A.Kennung = AL.Kennung
    WHERE EXISTS(
      SELECT 
        *
      FROM
        Aufträge A2
      WHERE
        A2.Auftrag = A.Auftrag
      AND
        A2.Kennung <> A.Kennung
    )
  • in: MYSQL Spalteninhalt in Variable übertragen

    geschrieben von deddyh

    Hier ist etwas Lesestoff zum Thema: http://www.unixwiz.net/techtips/sql-injection.html
  • in: Zwei Arrays vergleichen

    geschrieben von deddyh

    Mir scheint, Du suchst array_diff().
  • in: Lazarus - mein Programm installieren

    geschrieben von deddyh

    Zunächst einmal ist "funktioniert nicht" keine hinreichende Fehlerbeschreibung. Und dann: mit ComboBox.Items.Text greifst Du auf die Gesamtheit aller Einträge der ComboBox zu. Nimm also entweder ComboBox.Text oder werte ComboBox.ItemIndex aus.

    BTW: Vergleiche mit true sind böse!
  • in: Delphi 3 unter Windows 7 64 Bit

    geschrieben von deddyh

    http://forum.delphi-treff.de/showthread.php?28725-Delphi-5-unter-Windows-7, vielleicht hilft es ja.
  • in: Delphi 3 unter Windows 7 64 Bit

    geschrieben von deddyh

    DirectX für Delphi ist doch auch nur eine Übersetzung der C/C++-Header. Und ich denke auch nicht, dass x64 hier die Ursache ist, sondern evtl. der Installationsort. Alte Delphis sollte man tunlichst nicht ins Programme-Verzeichnis installieren, da sie versuchen, dort hineinzuschreiben und dies im Normalfall nicht dürfen (unter Win9x war das ja kein Problem).
  • in: Delphi 3 unter Windows 7 64 Bit

    geschrieben von deddyh

    Es würde mich sehr wundern, wenn eins der Beispiele aus dem Buch nicht unter Lazarus funktionieren würde. Zur Not kann man auch noch in den "Delphi-Modus" schalten. Oder man besorgt sich die Neuauflage des Buches (25 € bei Terrashop z.B.), da ist dann Delphi 7 Personal dabei. Die 3 ist halt hoffnungslos veraltet (1996 herausgekommen IIRC).
  • in: Delphi 3 unter Windows 7 64 Bit

    geschrieben von deddyh

    Für Delphi 3 würde ich mir das nicht antun. Da wäre in meinen Augen Lazarus die weitaus bessere Alternative: kostet nichts, kann mehr und läuft auch auf aktuellen Windows-Versionen.
  • in: Unbekannter Pfad

    geschrieben von deddyh

    function FolderPath(CSIDL: Cardinal): string;
    const
      SHGFP_TYPE_CURRENT = 1;
    begin
      SetLength(Result, MAX_PATH);
      SHGetFolderPath(0, CSIDL, 0, SHGFP_TYPE_CURRENT, PChar(Result));
      SetLength(Result, StrLen(PChar(Result)));
    end;
    
    function CommonAppDataPath: string;
    begin
      Result := FolderPath(CSIDL_COMMON_APPDATA);
    end;
    
    function DeinGesuchterPfad: string;
    const
      SUBDIR = 'Roaming\.minecraft';
    begin
      Result := IncludeTrailingPathDelimiter(CommonAppDataPath) + SUBDIR;
    end;


    Nun kannst Du ermitteln, ob es den Ordner gibt:
    if DirectoryExists(DeinGesuchterPfad) then


    [edit] Nachtrag: SHFolder muss eingebunden werden. [/edit]
  • in: Lazarus/Pascal - Automatisch Starten

    geschrieben von deddyh

    uses Registry;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Reg: TRegistry;
    begin
      Reg := TRegistry.Create;
      try
        Reg.RootKey := HKEY_CURRENT_USER;
        if Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True) then
          begin
            Reg.WriteString('Programmname', ParamStr(0));
            Reg.CloseKey;
          end
        else
          raise Exception.Create('Konnte den Schlüssel nicht zum Schreiben öffnen');
      finally
        Reg.Free;
      end;
    end;


  • in: Ist Delphi besser?

    geschrieben von deddyh

    knuspercraft schrieb:
    Delphi ist "Out". Habe es 1 Jahr lang gelernt und bringt mir rein gar nichts.

    Und daran ist die Sprache Schuld?
    knuspercraft schrieb:
    Klar ist es gut für kleine Programme

    Jepp, Skype z.B. :biggrin:
  • in: Zugriffsebenen in Unit

    geschrieben von deddyh

    Das ist korrekt, solange beide Klassen innerhalb derselben Unit stehen, haben sie auch gegenseitigen Zugriff auf private Felder. Je nach Delphi-Version kann man solche Ebenen aber als strict deklarieren, womit man diesem Effekt dann gegenwirken kann.
    type
      TSomeClass = class
      private
        procedure SomePrivateMethod; (* innerhalb derselben Unit verfügbar *)
      strict private
        procedure SomeStrictPrivateMethod; (* nur innerhalb der eigenen Klasse verfügbar *)
      end;


    [edit] Nachtrag: strict macht natürlich nur für die private- und die protected-Ebene Sinn ;) [/edit]
  • in: Abfrage über 3 Tabellen

    geschrieben von deddyh

    Da fehlt noch die Verknüpfungsbedingung zwischen admins und admin_groups. Allerdings sollte das dann eher zuviele als zuwenige Datensätze liefern. Mit AS hat das übrigens gar nichts zu tun. Hast Du mal meine Abfrage von oben per phpMyAdmin o.Ä. ausprobiert? Werden dort Datensätze geliefert?
  • in: Abfrage über 3 Tabellen

    geschrieben von deddyh

    SELECT
      A.ID, A.Name, G.Name
    FROM
      admins A
    JOIN
      admins_groups_members M ON M.admin_id = A.ID
    JOIN
      admins_groups G ON G.ID = M.group_id


    Allerdings bekommt man so nur die Admins, die auch mindestens einer Gruppe zugewiesen wurden. Will man auch die ohne Gruppen erwischen, muss man einen OUTER JOIN verwenden.
  • in: MySQL ORDER BY count() und nur 1 Ergebnis je Treffer

    geschrieben von deddyh

    Ich bin nicht sicher, ob ich das richtig verstanden habe. Bringt dies in etwa das gewünschte Ergebnis?
    SELECT
      url, COUNT(url), MAX(datum)
    FROM
      Tabelle
    GROUP BY
      url
    ORDER BY
      COUNT(url)
  • in: Ist Delphi besser?

    geschrieben von deddyh

    Man sollte aber keine Äpfel mit Birnen vergleichen. C#, VB.NET, F# und Delphi Prism z.B. sind reine .NET-Sprachen. Java hingegen bringt sein eigenes Framework mit. VB, Delphi etc. hingegen sind reine Win32 (bzw. Win64)-Sprachen. Es kommt also wie schon mehrfach erwähnt auf den Einsatzzweck und/oder die Zielplattform an.
  • in: Ist Delphi besser?

    geschrieben von deddyh

    Was Du "pingelig" nennst, nennen andere "typsicher". ;-)
  • in: Ist Delphi besser?

    geschrieben von deddyh

    muggel24 schrieb:
    am besten vb oder eine andere, modernere sprache. delphi ist auch sehr alt hat unser infolehrer gesagt!

    *OMG*. Ein kleiner Überlick über die Starter-Edition (XE, vorletzte Version) ist hier ersichtlich: http://www.delphi-forum.de/delphi_xe_review.html. Wie meine Vorredner schon sagten: es kommt wie im richtigen Leben auf den Anwendungszweck an, welches Werkzeug man verwenden sollte. Für reine "Nicht-.NET-Anwedungen" ist Delphi sicherlich nicht die schlechteste Wahl, da die Kompilate im Allgemeinen Stand-Alone funktionieren (d.h. ohne dass irgendwelche Runtimes vorausgesetzt werden), recht schnell sind und die Sprache recht einfach zu erlernen ist. Außerdem tut sich nach dem Verkauf an Embarcadero auch wirklich wieder etwas nach Jahren des relativen Stillstands (Unicode, Generics, Anonyme Methoden, 64Bit-Unterstützung, CrossPlatform).

    Schönen Gruß an den Infolehrer
  • in: Delphi Idhhtp.post Uplaod Problem

    geschrieben von deddyh

    So war das ja auch nicht gemeint. Man muss sich schon nach allen Seiten absichern. Ich wollte nur darauf hinweisen, dass es im blödesten Fall bei langen Operationen dazu kommen kann, dass das nächste Timer-Event gefeuert wird, bevor das vorherige fertig ist.
  • in: Delphi Idhhtp.post Uplaod Problem

    geschrieben von deddyh

    Evtl. bringt es auch schon etwas, den Timer temporär auszuschalten. Sonst kann es passieren, dass er sich irgendwann selbst überholt.
    procedure TDeinForm.Timer1Timer(Sender: TObject);
    begin
      Timer1.Enabled := false;
      try
        ArbeiteGanzHeftig;
      finally
        Timer1.Enabled := true;
      end;
    end;
  • in: Andere Tabelle miteinbeziehen

    geschrieben von deddyh

    Ist es nicht so, dass bei Aggregatfunktionen mit Gruppierung alle Nicht-Aggregatfelder in die Gruppierung einfließen müssen? Gut, IIRC handhabt MySQL das etwas anders, aber man sollte den Umstand zumindest im Hinterkopf behalten.
  • in: namen verbieten mit if schleife

    geschrieben von deddyh

    Sofern ich das richtig verstanden habe kommt man hier mit regulären Ausdrücken nicht weiter. Diese prüfen ja auf ein Muster wie "darf keine Umlaute und kein @ enthalten", wohingegen hier wohl eine Liste mit Konstanten vorliegt, gegen die geprüft werden soll ("System", "Admin", "SYSDBA" oder solche Dinge).
  • in: namen verbieten mit if schleife

    geschrieben von deddyh

    Zunächst einmal: es gibt keine If-Schleife ;) Und zum Problem: eine einfache Lösung könnte z.B. darin bestehen, dass Du Dir ein Array deklarierst und mit den gesperrten Namen befüllst. Nun kannst Du mit in_array prüfen, ob der gewünschte Name in diesem Array enthalten ist und dementsprechend reagieren.
  • in: MySQL Problem

    geschrieben von deddyh

    Und wenn wir Groß- und Kleinschreibung ignorieren wollen:
    SELECT
      id
    FROM
      Tabelle
    WHERE
      LOWER(user) = LOWER(<username>)
  • in: zeileninhalt aus tabelle zusammenzählen

    geschrieben von deddyh

    Wenn da mehrere Summen untereinander stehen, wird das wohl eine Gruppierung sein, oder welchen Sinn sollte das sonst machen?
  • in: zeileninhalt aus tabelle zusammenzählen

    geschrieben von deddyh

    Da es sich laut Grafik um eine Gruppierung handelt, sollte diese auch noch in das Statement aufgenommen werden. Beispielsweise:
    SELECT 
      Artikel, SUM(verkauft)
    FROM
      Tabelle
    GROUP BY 
      Artikel
  • in: INSERT query Problem

    geschrieben von deddyh

    Das ist sicherlich die beste Variante. Sollte das aber aus welchen Gründen auch immer nicht möglich sein, schließe die Feldbezeichner (mindestens das 'order'-Feld) einmal in Accent Graves (das ist SHIFT und die Taste rechts neben ß) ein.
  • in: Mysql nach Array selectieren

    geschrieben von deddyh

    Sofern ich Dich richtig verstanden habe:
    SELECT
      D.value1, D.value2
    FROM
      Mastertabelle M
    JOIN 
      Detailtabelle D ON D.code = M.code
    WHERE
      M.pid = <Deine pid>
  • in: RTF (RichEdit) Absatzhintergrund

    geschrieben von deddyh

    Herzlichen Dank ;-)

    So, für alle, die es interessiert: es gibt nach div. Nachforschungen dreier Leute neue Erkenntnisse: http://www.delphipraxis.net/1110911-post26.html
  • in: Backup kopieren

    geschrieben von deddyh

    Geht das nicht per FTP?
  • in: Mysql nach Array selectieren

    geschrieben von deddyh

    Haargenau. Oder etwas anders beschrieben:
    /* Mastertabelle */
    ID
    Feld1
    Feld2
    
    /* Detailtabelle */
    ID
    Master_ID --das ist die Referenz auf die Mastertabelle
    Feld1
    Feld2

    Um nun z.B. alle Daten für den Master-Datensatz mit der ID 1 zu bekommen, joint man diese gegen die Detailtabelle
    SELECT
      *
    FROM
      Mastertabelle M
    JOIN
      Detailtabelle D ON D.Master_ID = M.ID
    WHERE
      M.ID = 1


    Als Ergebnis bekommt man dann so viele Datensätze zurück, wie in der Detailtabelle mit der entsprechenden Master_ID vorhanden sind. Falls man das lieber alles in einem Datensatz haben möchte wie im Ausgangspost, dann muss man eben auf GROUP_CONCAT zurückgreifen.
  • in: RTF (RichEdit) Absatzhintergrund

    geschrieben von deddyh

    Eins vorweg: ich habe diese Frage auch bereits in der Delphi-Praxis gestellt. Zu meinem Problem: ich möchte bestimmte Absätze in einem TRichEdit mit einem Absatzhintergrund (hellgrau) versehen. Dass ein TRichEdit das nicht darstellt, weiß ich, mir geht es darum, den Inhalt als *.rtf zu speichern, Word kommt mit einer solchen Formatierung klar. Was mir selbst hingegen nicht ganz klar ist sind die zu setzenden Werte für die Felder wShadingWeight und wShadingStyle der PARAFORMAT2-Struktur. Hat das mal jemand versucht und kann mir einen Tipp geben? So wie ich die Beschreibung im MSDN verstehe, müsste das niederwertigste Nibble von wShadingStyle den Stil, das nächsthöhere die Vordergrund- und das nächste die Hintergrundfarbe (gemäß der im MSDN-Artikel angegebenen Tabelle) bestimmen. Ein Wert von $0FF0 würde somit Hellgrau für Vorder- und Hintergrund ohne Füllstil ergeben. Tut es aber nicht, ich bin ratlos.
  • in: MySQL, Indizes auf Spalten bei Umbenennung in SELECT

    geschrieben von deddyh

    Du deklarierst ja lediglich einen Alias, der hat mit einem Index nichts zu tun, dieser wird auch weiterhin verwendet.
  • in: Mysql nach Array selectieren

    geschrieben von deddyh

    Die Daten sind nicht atomar, das ist sehr unschön. Zur Behebung bietet sich eine weitere Tabelle an, die die momentan noch "zusammengeklebten" Werte als einzelne Datensätze aufnimmt. Über einen Fremdschlüssel kann man dann festlegen, zu welchem Datensatz der Haupttabelle sie gehören.
  • in: SQL: Fiktive Spalte mit Inhalt füllen

    geschrieben von deddyh

    Soll es sich wirklich um eine persistente Spalte handeln? Zumindest klingt es für mich nicht so, daher vermute ich, es ist so etwas gemeint:
    SELECT
      Spalte1, Spalte2, 'EUR' AS Waehrung
    FROM
      Tabelle

    'EUR' ist die Konstante, Waehrung ist der Alias dieser temporären Spalte.
  • in: MySQL Suche

    geschrieben von deddyh

    Allerdings solltest Du Dir im Klaren sein, dass eine Abfrage mit % vorn und hinten ggf. lange dauert, da ein evtl. vorhandener Index nicht greifen kann.
  • in: phpMyAdmin Datenbank ordnen

    geschrieben von deddyh

    Ach, Du meinst Deine Anmeldedaten. Bist Du Dir sicher, dass Du wirklich alles richtig eingegeben hattest?
  • in: phpMyAdmin Datenbank ordnen

    geschrieben von deddyh

    Wo? In phpMyAdmin? Du kannst dort vor der Anmeldung Daten eingeben?
  • in: Verschachtelte MySql-Abfrage

    geschrieben von deddyh

    Du kannst auch Aliase vergeben.
    SELECT A.Feld1 AS Irgendwas, B.Feld1 AS EtwasAnders
    FROM Tabelle1 A
    JOIN Tabelle2 B ON B.Dings_ID = A.ID

    Das Feld aus Tabelle A kannst Du nun über Irgendwas ansprechen, das aus Tabelle B über EtwasAnders.
  • in: Verschachtelte MySql-Abfrage

    geschrieben von deddyh

    Die Abfrage konnte nicht verarbeitet werden. Das dürfte daran liegen, dass vor dem WHERE kein Leerzeichen steht.

    [edit] *Grmpf* zu langsam [/edit]
  • in: Verschachtelte MySql-Abfrage

    geschrieben von deddyh

    Ein LEFT JOIN ist ein OUTER JOIN, d.h. Du bekommst auch dann eine Ergebnismenge, wenn in der hinzugejointen Tabelle keine passenden Einträge vorhanden sind. Die Felder dieser Tabelle enthalten dann NULL-Werte. Und natürlich kannst Du auch mehrere OUTER JOINS verwenden, sofern das sinnvoll ist. Aber vielleicht sagst Du uns einfach, was genau Du erreichen möchtest.
  • in: Verschachtelte MySql-Abfrage

    geschrieben von deddyh

    Gruppierung ohne Aggregatfunktion ist aber eigentlich sinnfrei und wird AFAIK nur von MySQL zugelassen. Vielleicht erklärt der TE einmal genau, was er erreichen möchte, dann kann man sich Gedanken über ein entsprechendes SQL-Statement machen.
  • in: Delphi ist langweilig :(

    geschrieben von deddyh

    Lazarus kenne ich auch, Delphi XE 2 soll angeblich einen Cross-Compiler bekommen. Aber das hat alles nichts mit der Aussage zu tun, dass man mit Delphi plattformunabhängig programmieren können soll. Das ist genauso falsch wie die Aussage in einem anderen Thread, mit Delphi ließen sich ASP.NET-Anwendungen schreiben. Das geht nur mit Delphi Prism (vielleicht auch mit dem totgeborenen Delphi.NET), was aber mit dem eigentlichen Delphi nichts gemein hat.
  • in: Delphi ist langweilig :(

    geschrieben von deddyh

    Plattformunabhängig mit Delphi? Wie soll das gehen?
  • in: Datum aus Datenbank formatieren

    geschrieben von deddyh

    Statt das mit PHP umzumodeln würde ich das Datum gleich formatiert abfragen (siehe MySQL-Doku zu DATE_FORMAT).
  • in: PHP checkboxen auswerten

    geschrieben von deddyh

    Etwas Anderes fällt mir auf Anhieb nicht ein, wie soll man auch Daten auswerten, die nicht übermittelt werden? Evtl. kennt da jemand einen genialen Trick, meine bescheidenen Kenntnisse sind hier leider vorerst am Ende :frown:
  • in: PHP checkboxen auswerten

    geschrieben von deddyh

    Ein spontaner Quick&Dirty-Einfall: zu jeder Checkbox noch ein hidden-Feld mit demselben Value dazu definieren und das Ganze in ein eigenes Array packen. Dann bekommst Du folglich 2 Arrays, ein vollständiges und eins mit den ausgewählten Werten. Diese beiden kannst Du dann vergleichen.
  • in: PHP checkboxen auswerten

    geschrieben von deddyh

    Vergibst Du denn keine Values für Deine Checkboxen? Hier wird das jedenfalls recht gut erklärt: http://www.php-space.info/php-tutorials/18-checkboxen,auswerten,mit,php.html
  • in: Webseiten, Tutorials und Bücher für Delphi

    geschrieben von deddyh

    Der Delphi-Treff wurde zwar bereits genannt, aber es ist nicht klar geworden, dass es dort auch eine spezielle Tutorial-Sparte gibt. Für Einsteiger gibt es zudem den Delphi-Crashkurs von Christian Stelzmann (der auch den Prism Primer geschrieben hat).
  • in: PHP Meldung anzeigen bei vollendenten Seitenwechsel

    geschrieben von deddyh

    Jetzt hier auch noch? Reicht einmal nicht? http://www.delphipraxis.net/159721-php-meldung-anzeigen-erst-bei-seitenwechsel.html
  • in: Stored Functions // hierarchische Abfrage

    geschrieben von deddyh

    Ich habe jetzt nicht alles durchgelesen, aber das klingt für mich nach einer Einsatzmöglichkeit für Nested Sets.
  • in: Bilder aus mehreren Resourcen?

    geschrieben von deddyh

    Darf man fragen, wozu das gut sein soll? Du kannst keine doppelten Ressourcen verwenden, das wird gar nicht erst kompiliert bzw. gelinkt. Was spricht denn dagegen, die Ressourcen in der anderen Datei anders zu benennen?
  • in: php: header() problem

    geschrieben von deddyh

    Du solltest VOR dem Absetzen der Abfrage an die DB die übergebenen Daten escapen (mysql_real_escape_string), um die Möglichkeit von SQL-Injection zu unterbinden. Außerdem erscheint mir die Verschachtelung misslungen zu sein, es sein denn, Du willst wirklich nur den letzten gefundenen Datensatz untersuchen, in dem Fall solltest Du aber sortieren. Und was genau funktioniert nicht, bekommst Du eine Fehlermeldung?
  • in: Würde diese PHP klappen?

    geschrieben von deddyh

    Ob LIKE case-insensitive arbeitet ist IIRC Einstellungssache. Dann doch lieber
    WHERE LOWER(Benutzername) = LOWER('Hanswurst')
    , damit ist man auf der sicheren Seite.
  • in: Würde diese PHP klappen?

    geschrieben von deddyh

    Außerdem steht da etwas von MD5, also muss wohl das übergebene Passwort auch zunächst "gehashed" werden, sonst kann der Vergleich ja nicht funktionieren (es sei denn, das Passwort steht im Klartext in der DB).
  • in: Würde diese PHP klappen?

    geschrieben von deddyh

    Aus Sicherheitsgründen würde ich gar nicht erst unterscheiden (oder zumindest nicht ausgeben), ob Benutzername oder Passwort falsch ist. Stattdessen kann man ja einfach mit
    SELECT 
      COUNT(*) 
    FROM 
      User_Daten 
    WHERE 
      Benutzername = 'Benutzer' 
    AND Passwort = 'Passwort'

    abfragen, ob es einen Benutzer mit diesen Anmeldedaten gibt. Wenn eine Zahl > 0 zurückkommt, ist die Anmeldung gültig.
  • in: serversockets für delphi xe?

    geschrieben von deddyh

    Die ScktComp.dcu finde ich bei mir unter %PROGRAMFILES%\Embarcadero\RAD Studio\8.0\lib\win32 jeweils unter debug und release.
  • in: Open Office Base Hintergrundfarben

    geschrieben von deddyh

    Genauso war es gemeint. Soll sich das Layout einmal ändern, ändert man einfach die *.css, muss aber den Code nicht anrühren.
  • in: Open Office Base Hintergrundfarben

    geschrieben von deddyh

    Im Sinne der Trennung von Logik und Darstellung wäre es evtl. günstiger, statt des Styles eine CSS-Klasse zuzuweisen.
  • in: Dropdown-Menü bei der Anmeldung mit Datenbankabfrage

    geschrieben von deddyh

    Ich nehme einmal an, die Tabelle Kategorien existiert bereits in Deiner Datenbank. Dann kannst Du sie auslesen und als DropDown-Liste darstellen (siehe SELFHTML). Wird das Formular nun zu Dir übertragen, kannst Du den Wert der Liste auslesen (am Besten trägst Du als Value gleich die ID der Kategorie ein, siehe Link) und zusammen mit den Benutzerdaten als Fremdschlüssel speichern.
  • in: Viele Bilder anzeigen

    geschrieben von deddyh

    Besser
    self.DoubleBuffered
    , es sei denn, man ruft das von außerhalb auf.
  • in: Viele Bilder anzeigen

    geschrieben von deddyh

    Wieso nicht soviele TImage-Komponenten, wie zur gleichzeitigen Anzeige benötigt werden, auf dem Formular platzieren und die Karten selbst in einer TImagelist vorhalten? Das hätte den Vorteil, dass sie gleich in den Ressourcen enthalten wären und nicht extern mitgeliefert werden müssten. Man könnte aber auch auf die TImagelist verzichten und die Bilder gleich in die Ressourcen linken, evtl. sogar in einer DLL.
  • in: Where ohne Wirkung?

    geschrieben von deddyh

    Versuch es einmal mit mysql_num_rows(). count($array) müsste ja die Anzahl der enthaltenen Datenbankfelder liefern, nicht die der Datensätze.
  • in: [Delphi] Listboxabfragen

    geschrieben von deddyh

    Diese Lösung ist IMO universeller nutzbar.
    //Gibt zurück, ob SearchStr in List enthalten ist. Als Zugabe wird der ItemIndex mit zurückgegeben
    function StringInList(const SearchStr: string; List: TStrings; out Index: integer): Boolean; overload;
    begin
      Assert(Assigned(List));
      Index := List.IndexOf(SearchStr);
      Result := Index > -1;
    end;
    
    //wie oben, allerdings muss kein Index-Parameter übergeben werden
    function StringInList(const SearchStr: string; List: TStrings): Boolean; overload;
    var dummy: integer;
    begin
      Result := StringInList(SearchStr, List, dummy);
    end;
  • in: Joomla 1.6 Forum Modul

    geschrieben von deddyh

    Versucht einmal, das Ding über die URL zu installieren. Ich habe irgendwo gelesen, dass es sich um ein Problem mit der Dateigröße des Archivs handelt, welches man so umgehen kann.
  • in: Delphi ist langweilig :(

    geschrieben von deddyh

    Ich hatte das auch so gemeint, dass mit den mitgelieferten Komponenten nicht alle Wünsche abgedeckt werden können (wie soll das auch gehen?). Ich weiß gar nicht, wieviele LinkLabels es mittlerweile im Internet gibt, da es enorm lange gedauert hat, bis ein solches von Haus aus den Weg in die Komponentenpalette gefunden hat. Außerdem ist eine gute geschriebene Komponente ja prima wiederverwendbar, sofern sie nicht allzu speziell ist.
  • in: Delphi ist langweilig :(

    geschrieben von deddyh

    Man könnte auch selbst Delphi-Komponenten schreiben. Dabei ist man auch gezwungen, sich intensiv mit der OOP unter Delphi zu beschäftigen.
  • in: Delphi ist langweilig :(

    geschrieben von deddyh

    Wenn Delphi dermaßen langweilig ist, dann frage ich mich, wo die ganzen neuen Einträge in den Delphi-Foren herkommen. Sollten die Frager denn durch die Bank zu dumm sein?
  • in: HBGary von Anonymous gehackt

    geschrieben von deddyh

    Hochmut kommt vor dem Fall, das hat sich hier wieder einmal als wahr herausgestellt (und das ist auch gut so IMO).
  • in: onclick dynamisch erzeugtes timage

    geschrieben von deddyh

    trueweb schrieb:
    Ganz einfach:

    TImageName.onDblClick := ProcedureName;
    
    procedure ProcedureName(Sender: TObject);
    begin
     ...
    end;


    Beinahe. Nur darf es sich nicht um eine reguläre Prozedur handeln, sondern muss eine Methode sein, d.h. sie muss zu einer Klasse gehören. Üblicherweise nimmt man da das Formular dafür.
  • in: onclick dynamisch erzeugtes timage

    geschrieben von deddyh

    Auf ein dynamisch erzeugtes TImage kann man schlecht zur Designtime doppelklicken:biggrin:. Erstelle Dir eine aufrufkompatible Methode des Formulars, diese kannst Du dann dem Image zur Laufzeit zuweisen.
  • in: Joomla 1.6 Template

    geschrieben von deddyh

    Auch einen Blick wert ist IMO JYAML. Da kann man sich entscheiden, ob man den Link zur Projektseite drinlässt und nichts bezahlt, oder eben einen Obulus entrichtet und dafür alle Verlinkungen entfernen darf.

Login zum Webhosting ohne Werbung!