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. -
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 -
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
, damit ist man auf der sicheren Seite.WHERE LOWER(Benutzername) = LOWER('Hanswurst')
-
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
, es sei denn, man ruft das von außerhalb auf.self.DoubleBuffered
-
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. 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.