![]() |
Datumtabelle mit Einträgen über Eingabefelder.
Hallo alle zusammen,
ich habe ein mittel bis schwerwiegendes Problem. Für mich Schwerwiegend für euch wahrscheinlich nur ein mittleres ;) Also es geht darum ich muss ein Programm über Delphi schreiben und habe so gut wie keine Ahnung von Delphi. Ich hoffe trotzdem das ihr mir helfen wollt und könnt! Und zwar muss das Programm verschiedene Einträge in einer tabelle anzeigen. Die tabelle sollte so aussehen das oben ein Datumsstrahl vom 01.01.2010 bis 31.12.2010 zu sehen ist! Also in der ersten Spalte das Datum und in der 2 der Tag. Links in einer Zeile stehen sozusagen Uhrzeiten! Also insgesammt aufgebaut wie in Stundenplan. Dann muss ich durch eingeben über Felder die einzelnen betreffenden Abschnitte markieren und die Informationen müssen dadrin stehen. Also z.b vom 14.12.2010 bis 21.12.2010 immer um 8 Uhr. Also ist jetzt ein durchgehender markierter Kasten vom 14 bis zum 21.12.2010. Sorry aber ich hab keine Ahnung wie ich es besser erklären kann! :( Ich hoffe das mir Leute von euch helfen können! Ich habe versucht dieses über TstringGrid oder TdrawGrid zu machen aber ich scheiter schon daran den frotlaufenden Datumsstrahl ein zu bauen! Oder sagen wir so wie die Befehle sind und wie ich diese verbinden kann. Gruß Sievo! |
AW: Datumtabelle mit Einträgen über Eingabefelder.
|
AW: Datumtabelle mit Einträgen über Eingabefelder.
Hallo Sievo,
erst mal willkommen in der DP. :dp: Zeig uns doch mal was du schon hast. Am besten hängst du das Projekt mal als ZIP an, damit wir auch die Visuellen Dinge sehen können. |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Liste der Anhänge anzeigen (Anzahl: 1)
So erstmal Danke das sich welche gemeldet haben :)
Und danke für die 2 Dateien ich bin schon fleißig am suchen :) Ich hab sozusagen nur die Anwendungsdatei wie es aussehen soll!! Also sagen wir so es soll nicht so aussehn weil ich möchte dieses Programm ja anders schreiben :) Ich hab nur keine Ahnung wie genau ich das machen soll und deswegen hoffe ich das mir hier Leute von euch erklären können wieso weshalb und warum ich solche Befehle nutzen soll!Also mal zum anschauen das Fertige Programm im Anhang! |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Zitat:
|
AW: Datumtabelle mit Einträgen über Eingabefelder.
Liste der Anhänge anzeigen (Anzahl: 1)
Okay =)
Also das daunten ist meine bis jetzige arbeit! Wie man sieht sind die Datumsverläufe da aber die Zellengröße stimmt nicht! Außerdem fehlen die Tage also Montag Dienstag etc unter dem Datum!
Delphi-Quellcode:
Ich muss sagen ich hab das da oben geschrieben kann es mir aber auch net erklären wieso es funktioniert :) habe es meist aus foren und anderen Einträgen zusammen gebaut!
procedure TForm1.StringGrid1Enter(Sender: TObject);
var i, z: Integer; tmpDatum: TDate; Tag: String; begin tmpDatum := StrToDate('01.01.' + FormatDateTime('yyyy', now)); for i:=1 to 365 do StringGrid1.Refresh; for i:=1 to 365 do begin for z:=1 to 365 do begin if z = i then break; tmpDatum:= tmpDatum + 1; end; StringGrid1.Cells[i, 0]:= FormatDateTime('dd.mm', tmpDatum); tmpDatum := StrToDate('01.01.' + FormatDateTime('yyyy', now)); StringGrid1.ColWidths[i] := 30; end; StringGrid1.Cells[0,0] := 'Datum'; StringGrid1.Cells[0,1] := 'Wochentag'; StringGrid1.Cells[0,2] := 'LKW 1'; StringGrid1.Cells[0,3] := 'LKW 2'; StringGrid1.Cells[0,4] := 'LKW 3'; end; Also wenn mir einer erklären kann was genau die Zeilen bewirken dann wäre das sehr nett! Ich will das Programm ja nicht nur schreiben sondern auch verstehen! Vielen Dank! |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Liste der Anhänge anzeigen (Anzahl: 1)
Also das Problem meiner Spaltenbreite hab ich auch gelöst!
Aber Heute morgen beschäftigt mich die Frage wie bekomm ich die Wochentage zu meinem Datum! Also erste Zeile ist das Datum und dadrunter soll der Wochentag! Siehe Screenshot! Gruß Sievo |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Eine andere Frage wäre
Mach ich es mir vllt zu schwer? Weil es gibt Leute die sagen das der Tdbgrid dafür am besten ist!? Welche Art würdet ihr mir empfehlen!? Es handelt sich ja eigentlich nur im Datensätze die ich dann auch noch aus einer Datei einlesen lassen muss und auch die eingetragenen Daten abspeichern muss! Gruß Sievo |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Wie gesagt, ein Bild würde mehr sagen .... aber
Nicht ein Bild von dem was du bereits hast, sondern ein Bild, wie es aussehen soll. Also mal ein Bild wie das aussehen soll und gib die passenden Daten dazu, auf deren Basis dieses Bild so angezeigt werden soll. |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Alles klar ich mach mich sofort dran!
Vielen Dank! Siehe Seite 2 |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hoffe damit ist es verständlich!
Mein Größtes Problem ist die Verknüpfung der 4 Eingabefelder! Einmal die Verknüpfung die überprüft um welches Fahrzeug es sich handelt! Dann die Verknüpfung welches Startdatum gewählt wurde! Als 3 sollte dann ja durch die Dauer des Auftrages der Bereich abgesteckt werden also von wann bis wann der Auftrag ist. Und als Letztes muss dann in diesem Bereich die Kundennummer angezeigt werden und der Bereich mit einer Hintergundfarbe hervorgehoben werden. Der Zeitstrahl sollte am besten immer für eine bestimmte Kalenderwoche sein die man sich aussuchen kann von diesem Jahr! Bedingungen sind: 1. Einlesen und Darstellen der Angaben aus der Datei Auftrag.txt. 2. Erfassen und Darstellen eines neuen Auftrages. Im Falle einer Überlappung mit dem bestehenden Auftrag sollte(n) die Konfliktwoche(n) farbig hervorge-hoben werden. 3. Löschen eines bestehenden vom Benutzer gewählten Auftrages (bestimmt durch Fahrzeugnummer und Anfangsdatum bzw. Klick auf der Dispotafel). 4. Speicherung der auf der Dispotafel dargestellten Aufträge in der Datei AuftragOut.txt (Format wie bei Auftrag.txt). |
AW: Datumtabelle mit Einträgen über Eingabefelder.
für den wochentag kannst du die funktion DayOfWeek nutzen
wie sieht denn die Auftrag.txt aus? zum einlesen erstmal: TStringlist für die kalenderwoche kannst du ja ein combobox nutzen in denen die jeweilige woche eingetragen ist |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Liste der Anhänge anzeigen (Anzahl: 2)
Hi und danke erstmal ^^
Also Kalenderwoche hab ich eigentlich gelöst zwar nicht zu 100% meinem geschmack aber müsste klappen siehe screen! Die txt datei hefte ich dir unten mal an! |
AW: Datumtabelle mit Einträgen über Eingabefelder.
also ich würd die aufträge erstmal in eine stringlist einlesen
und dann wenn du es so hast: 1 21 5 2010 2 12 den string zerstückeln (copy,pos,delete wären zu nennen) die jeweiligen einträge dann irgendwo abspeichern also ich würd die combobox nutzen in die du dann [1. - 52.] Woche auswählen kannst und dann in dem stringgrid nur die jeweiligen tage eintragen dadurch wird das stringgrid nicht so unübersichtlich |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Okay Chillkröte das klingt schonmal gut =)
Ich bin jetzt nicht der Delphi pro ist in meinem Studium nur ein kleiner Teil und ich kann mit dem zerstückeln nichts anfangen ^^ aber ich werde das mal mit den boxen probieren. Wenn du vllt nen tipp hast wo ich mich da einlesen kann oder wie ichs mir einfacher machen kann dann hau ihn bitte raus :) Das Problem ist ja wie bekomm ich die in die combobox rein und dann noch wie verknüpfe ich die mit der tabelle damit wenn ich mir eine aussuche die auch angezeigt wird =) Wenn du verstehst was ich meine ^^ kann mich da net so genau ausdrücken ^^ zur zeit mach ich das ja über das Edit feld oben über der Tabelle und dann mit dem button Anzeigen suchen was auch nicht so wirklich klappt ^^ |
AW: Datumtabelle mit Einträgen über Eingabefelder.
die combobox hat eine property items
diese kannst du dann im OI füllen einfach die Nummer 1 - 52 dort eintragen dann im OnChange Event der Combobox den Text der Combobox auslesen mit zerstückeln meine ich sowas zb (geht vllt auch eleganter)
Delphi-Quellcode:
das kann man dann rekursiv machen bis keine leerzeichen mehr vorhanden sind
var
i : integer; s,a : string; begin s := '1 21 5 2010 2 12' i := pos(' ',s); a := copy(s,1,i); delete(s,1,i+1); zum nachlesen ist immer die hilfe ganz gut, die ![]() ![]() |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Okay also das mit der Combobox versuch ich gerade hab auch die 53 wochen eingetragen aber verstehe nicht so recht wie ich es jetzt schaffe das wenn ich die 1 in der combobox aussuche er mir also das datum in der striggrid vom 01.01.2010 bis zum 07.01.2010 anzeigt.
Kannst du mir da helfen? Hoffe du weißt was ich meine! ich hab nur das hier gefunden If Combobox1.Text = 1 Then --> Aber was kommt jetzt hier hin? |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Irgendwie machst du alles durcheinander aber dafür nicht richtig strukturiert.
Teile dein Projekt in Teilbereiche auf. Dann kannst du auch (so wie hier gefordert) pro Frage einen Thread aufmachen. Überlege Dir zunächst eine Datenstruktur
Code:
Das wird deine Basis.
TAuftrag
Kunde Fahrzeug Datum Dauer Diese Daten legt man intern z.B. in einer Liste ab (TObjectList) Ausgehend davon kommen dann die anderen Funktionsbereiche - Speichern/Laden - Anzeige - Dateneingabe Bei Gelegenheit stelle ich dir mal ein kleines Beispiel rein |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Okay ich Danke dir Sir Rufo!
Dann werd ich das mal so angehen und meine Tabelle Schritt für Schritt aufbauen! Vielen Dank nochmal! Auf dein Beispiel bin ich gespannt ^^ |
AW: Datumtabelle mit Einträgen über Eingabefelder.
du musst auf jeden fall erstmal das datum der jeweiligen woche haben
es reicht ja wenn nur der 1. tag gemerkt wird und dann trägst du das in deine liste ein
Delphi-Quellcode:
usw
var
sg : stringgrid begin sg.cells[1,0] := 'Der jeweilige 1. Tag' sg.cells[2,0] := 'Der jeweilige 2. Tag' //edit: cells korrigiert |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Okay ich danke dir!! :)
Werds mal morgen versuchen für Heute ist Schluss =) |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Liste der Anhänge anzeigen (Anzahl: 1)
So hier mal ein Beispielprojekt
|
AW: Datumtabelle mit Einträgen über Eingabefelder.
Hmm also ich hab das jetzt mal runtergeladen aber kann die programme nicht starten!
Also den quellcode kann ich mir angucken er sagt mir nur das irgendeine source fehlt! Ich Danke dir! Werd mich da später mal durchfuchsen! :) |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Eigentlich sagt der COmpiler schon genau welche Source fehlt.
Es ist auf jeden Fall hilfreich, wenn du in deinem Profil deine Delphi Version hinterlegst. (Das hat nix mit Prahlerei zu tun, sondern jede Delphi-Version hat spezielle Eigenschaften, bzw. auch mehr oder weniger Funktionen) |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Liste der Anhänge anzeigen (Anzahl: 1)
Hey okay hab ich gemacht!
Und hier unten ist der Fehler wenn ich das Programm starten will! Der andere Fehler ist das nicht eine Source fehlt sondern eine Resouce nicht gefunden werden kann und dann wird ein Pfad angegeben mit C:\Benutzername usw. |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Wo unten?
|
AW: Datumtabelle mit Einträgen über Eingabefelder.
Nimm die Zeile einfach raus ... Das kennt Turbo Delphi nicht.
Die fehlende Resource sollte automatisch erstellt werden. |
AW: Datumtabelle mit Einträgen über Eingabefelder.
Okay cool Danke!!
Jetzt läuft es!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 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