Zum Inhalt springen

aLeXanDer..

Mitglieder
  • Gesamte Inhalte

    192
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von aLeXanDer..

  1. Also bei den Eigenschaften , Maxvalue ,...,Defaultexpression wird jeweils das Feld des jeweiligen DAtentyps selbst angesprochen also sowas wie if (StringGrid1->Cells[1][i] == "ftInteger") { TIntegerField* IntFeld; IntFeld = new TIntegerField(this); IntFeld->DefaultExpression = StringGrid1->Cells[5][i]; Hier nehm ich an müsste ich es TABLE1 sagen das er das speichern soll } Nur , wie sag ich der Table1 das sie das dem jetzigen Element mit hinzufügen soll. Also das sie weiß das sie das mit abspeichern soll ? Zudem stoße ich dann auf das Problem wie ich das ganze wieder lesen soll wenn ich eine Datenbank in mein Programm lade. Habe schon GetIndexInfo() gefunden, jedoch nicht wie ich es einsetze. Naja das ist der aktuelle Stand vielleicht kann jemand weiterhelfen =)
  2. Ich bin mal darauf gekommen eine Table von Borland zu nehmen und dann dort in dem Eigenschaftenfenster nachzuschauen wie die Eigenschaften dort benannt sind und siehe da. Vorgabe ist DefaultExpression Min ist MinValue Max ist MAxValue nur sind das keine Mitglieder von FieldDefs... Habe nur sowas gefunden wie Table1->Fields->Fields[i]->DefaultExpression; nur wenn ich jetzt hier einen Defaultwert eintragen lasse Gibts nen Fehler das Index das Maximum(x) überschreitet... Und Min und MaxValue habe ich dann in gar keiner Code-Form gefunden für Fields.Nur das es Min und MaxWerte für ein Integerfeld angibt. Also bin ich immernoch nicht wirklich weiter
  3. @Akku nein habe ich nicht vorrausgesetzt, ich sagte ja das ich mich nur vage erinnern kann. Dann sage ich das nächstemal für Jugendlich dazu. =) Bei uns ist es nicht so das man unter der woche in der BS nach 6 Stunden aushat. nur Freitags Ein Freund von mir hat sogar schon bei einer Frima ein drittes Gespräch gehabt. Er meinte das ist wie son Casting. die einen kommen eine Runde weiter die anderen eben nicht.
  4. Rein Theoretisch muss man nach der Schule nicht mehr in die Arbeit wenn die Schule länger als 5 Schulstunden gedauert hat. oder waren es 6? oder 4? um den Dreh rum. Aber auch bei mir in der Klasse gibt es welche die nah bei ihrer Firma wohnen und dann nochmal reinschauen müssen/dürfen/sollen/können. Aber das sind eher wenige Ausnahmen. Bei den meisten , wie auch bei mir ist das gar nicht möglich da ich zu weit weg wohne und allein dei Fahrt von Schule zur Arbeit zu lange dauernd würde. Weiß nicht ob man das Einfordern kann, in SK in der BS aber wurde mir erzählt , glaub mich daran zu erinnern, das dass auch in einem GEsetz steht Wie weit haste denn von Arbeit nach hause und zur Schule ?
  5. Mhh ich verstehe nicht ganz was du meinst und umgekehrt wahrscheinlich auch. Also ich will nur mit Code eine Datenbank erstellen. TTable Und um eine Datenbanktabelle zu erstellen brauche ich den : -Alias -Tabellenname -Feldname -Feldtyp -eventl. Anzahl der Zeichen die der Feldtyp belegt -Ob das Feld unbedingt einen Wert enthalten muss -Ob es ein Primärfeld werden soll. --->>>Diese Definitionen habe ich schon alle Jedoch gibt es in der Datenbankoberfläche von Borland auch noch die Eigenschaften -Minimum : Kleinsten zulässigen Wert für dieses Feld -MAximum : Größten zulässigen Wert für dieses Feld -Vorgabe : Vorgabewert für dieses Feld -Eingabemaske: Eingabemaske für dieses Feld (und eventl. noch Sekundärindizies.) Diese Definitionen "Fehlen" mir noch. bzw. ich finde keine Hilfe wie man diese unter Eigenschaften der Tabelle/Datenbank programmieren kann. Die Eigenschaften wo du beschrieben hast, habe ich also schon und um den Datentyp zu bekommen habe ich nicht mit Length überprüft, sondern es gibt spezielle Werte für jeden Datentyp Int = 1 String = 3 usw. Vielleicht weißt du für meine noch offenen Definitionen ja eine Lösung Alex
  6. Noch keiner damit erfahrungen gesammelt? Also ich bin schon soweit gekommen das ich die Tabelleneigenschaften auch wieder auslesen kann, hat zwar gedauert aber ich habs geschafft =). Nun fehlen mir immernoch die Eigenschaften : "Minumum - Kleinst möglichster Wert den das Feld annehmen darf" "Maximum - Größt - " - " "Vorgabe - Welchen Wert das Feld erhält wenn keine Eingabe getätigt wird" @ Klotzkopp Bin ich schon im richtigen Forum hier, wenn ich das mit Borland und C++ machen will? Also die Datenbank meine ich. Ansonsten müsstest du mich halt verschieben. Danke Alex
  7. Hallo Community, Ich bin gerade darüber ein ähnliches Programm zu schreiben wie die Borland Datenbankoberfläche. Mit dem Programm soll man eine neue "Tabelle" erstellen können als auch eine bestehende Tabelle lesen können und bearbeiten. TTable* Table1; Table1 = new TTable(this); Table1->DatabaseName = ...; Table1->TableName = ...; Größe und Datentyp kann man auch noch einstellen. Ich möchte aber auch gerne eine Vorgabe eingeben lassen, praktisch welcher Wert eingtragen wird wenn kein wert vorhanden ist und das man ein Minimum und Maximum eingeben kann. Jedoch finde ich darüber keine Befehle oder ähnliches. Das wäre mein Probelm was mir bei der Erstellung noch fehlen würde. Und beim bearbeiten fehlt mir schon mal das wichtigste und zwar weiß ich nicht wie ich die Strukturinfos der Datenbanktabelle auslesen kann. Also Feldname, DTYP, Größe ect.... Habs jetzt hier unter Compilerspezifischer Programmierung reingestellt. Vielleicht hat schon jemand Erfahrung damit und kann mir helfen. Danke Alex
  8. Du meinst in das StringGrid nen Bool-Wert noch einfügen? und dann nach dem Sortieren lassen. Ja ist ne Idee, aber das StringGrid habe ich jetzt dann überhaupt nicht angefasst, sortiere nur intern in einer StringList
  9. Habs gestern dann noch anders gelöst gehabt. Erst sortiert, mit eben diesem ->Sort(); und dann prüf ich den ersten Wert darauf, ob er kleiner als die aktuelle Zeit ist. Wenn sie kleiner ist, dann lösch ich sie aus der StringListe und prüf die nächste Zeit. Wenn keine Einträge mehr drin sind weil alle Zeiten kleiner sind als die Uhrzeit Wird die StringListe wieder mit den Werten aus dem StringGrid gefüllt. Also ist mit 2 if-Abfragen und 3 Zeilen in den Abfragen gelöst. Sollte nicht zu unsauber sein. Aber die CSort ist aufjedenfall ne Alternative Danke für die CSort Erklärung. Ich probiers aus aufjedenfall auch aus. Alex
  10. Ich nutze bis jetzt,die Standartvorgegebene Eigenschaft StringList->Sort(); Jedoch sortiert sie absteigend anhand der Zahlenwerte z.B. Man hat " 3, 6 , 1, 9" würde diese Methode einfach 1 , 3 ,6 ,9 sotieren ohne Bezug einfach nach nummerischen Werten. Es gibt noch die CustomSort-Methode, die Beschreibung ist jedoch für mich nicht ganz begreifend. Vielleicht hatte jemand ja schon damit zu tun.
  11. Konnt es nicht anders beschreiben als mit "Funktioniert nicht" =) Bin auf deinen Vorschlag eingegangen. Ich lade die Daten in eine StringList und zwar nur die Zeiten, die auch den aktuellen Tag betreffen. und mit ->Sort sotier ich dann die abgespeicherten Zeiten in der StringList. Ziel ist es , das die nächste Weckzeit an erster Stelle steht. Da dann nur diese Zeit beobachtet wird, bis das Ereigniss eintritt. Mein Problem ist jetzt. Es wird ja immer normal sotiert. Sprich : 13:37 14:55 17:43 Nur wenn es jetzt 14:10 ist, sollte 14:55 an erster Stelle stehen und nicht 13:37. Folglich bräuchte ich das Sortieren anhand des Kriteriums der jetzigen Uhrzeit. Frage: Muss man es berechnen und dann danach sotieren lassen oder gibt es etwas, das selbst anhand eines angegeben Kriteriums sortiert? (CustomSort) Danke Alex
  12. Hallo, Ich habe folgendes Anliegen. Ich habe ein StringGrid in das ich jetzt z.B Weckzeiten einlese. Habe dann die Spalten Aktiv: Datum: Tag: Zeit: Bemerkung: Meine Idee wäre es , das das Programm am Anfang das StrinGrid befüllt und dann sortiert. Welcher Termin der nächste ist. Habe mit TDateTime gearbeitet. Ich bin soweit das ich erst Abfrage ob es aktiv ist, dann ob es ein festes Datum ist oder ob es Wöchentlich ist( ist einstellbar) dann frage ich obs ein fester Tag ist(Montag,Dienstag, ect...) oder obs es Täglich ist und dann lass ich die eingetragene Zeit - die jetzige Zeit rechnen und dann sollte der kleinste Wert in der obersten Zeile stehen dann der 2. kleinste... usw. Nur woher weiß ich dann aus welcher Reihe ich den kleinsten Wert habe? Ich habe in google schon ein paar Routinen gefunden wie BubbleSort usw. ja und ich bin zu dumm sie zu benutzen..kann ja sein, aber bei mir funktionieren sie nicht... HAt jemand noch andere Vorschläge?Ideen? Vielen Dank Alex
  13. Ja die Auslastung ist bei 100% Werd es über Weihnachten wohl auf einen Timer umschreiben. SchischaSchade. Halt Hab ne Auslastung von 16% hab vergessen wieder was zu entkommentieren
  14. Auch nicht wenn ich sage Er soll warten bis der eine Thread in seiner Schlefie wieder oben angelang tist und iohn dann beenden ? ist doch sauber gelöst?!
  15. Ich will jetzt meine Entschuldigung nicht zurücknehmen aber ich hab auch das Speicherproblem gelöst Musste einfach die Reihenfolge in der ich die Threads beende umstellen und einen kleinen Wait einbauen.
  16. Ja Form1->Meldungausgeben(Form1->StringGrid1->Cells[4][i]); steht in Unit2 und Unit1 hat das Formular. deswegen jah Form1->Meldungsausgeben... Wenn man das nicht darf, wie teil ich dann mit , das der Weckertermin erreicht ist? Man kann ja auch mal andere Möglichkeiten ausprobieren, ob die gut sind sieht man erst nachdem man sie getestet hat. Jetzt weiß ich das du Recht hast. Pardon
  17. Ok das mit dem Icon im sysTray habe ich nun doch gelöst Hab zwar länger gebraucht aber nun gehts =) Danke Klotzkopp Aber der die anderen Fehler sind noch da.
  18. Das mit dem Icon habe ich immernoch nicht hinbekommen. Leider Zudem hab ich auch noch ein neues , wie ich finde komisches, Problem. Das Problem ist , ich gebe meinem Wecker eine Alarmzeit. Ist die Alarmzeit erreicht und der Wecker ist gerade im Tray , erscheint einwandfrei die Message die der User eingegeben hat. Ist der Wecker aber geöffnet , also der User sieht in gerade an oder so. Kommt ein Fehler "Leinwand/Bild erlaubt keine Zeichen" und ich werde im Code auf diese Zeile im meinem PrüfThread hingewiesen. PrüfThread = Er durchläuft mit der Zeit die Weckerdaten und wenn was übereinstimmt gibt er laut =) Form1->Meldungausgeben(Form1->StringGrid1->Cells[4][i]); in Meldungausgeben ist folgendes: void __fastcall TForm1::Meldungausgeben(AnsiString text) { Beep(37,200); Beep(250,200); ShowMessage(text); } Aber Warum geht es dann wenn der Wecker im Tray ist, da rufe ich ja dieselbe Routine auf?! Aber es wird schon noch mhh komischer. Das passiert wenn ich das Projekt mit dem BorlandBuilder kompiliere. Wenn ich aber die fertige Exe benutze und habe dann den Wecker aktiv, dann erhalte ich ohne Fehler die Message. ??? Achjah und dann noch ein Unterschied , wenn ich mit Borland kompeliere und Beende das Programm passiert nichts. Starte ich die Exe und beende dann das Programm erhalte ich : Hab schon danach gegoogelt und viele schreiben das sie das auch bei Programmen wie Mozilla und Firebird oder irgend einer Abspielsoftware erhalten. Hab gedacht es ist weil ich eine Schriftart mit AddFontResourceEx einbinde und ich sie danach wieder Removen will, das er das nicht packt, aber auch als ich das auskommentiert habe , kam die Meldung. Den WeckerCode zu posten ist wohl ein bisschen viel, sag ich mal. Wenn mir jemand helfen kann, oder Rat weiß und dazu mal etwas vom Code sehen muss,will, je nachdem, einfach schreiben. Mfg Alex
  19. BorlandBuilder 5 ->Tools->Hilfe Laut dieser Hilfe muss ich jetzt hInst NULL setzen verstehe ich das richtig?! Und wie übergeb ich dann den Wert an die andere Funktion?!
  20. HINSTANCE hInst; Mit was muss man hInst denn initialisieren Finde in der Hilfe nichts darüber.
  21. Das mit dem Wochentag ging einfacher gab von der TDateTime Komponente den Befehl DayOfWeek(); =) So nun hab ich meinen Wecker in die Trayleiste versteckt und Prophisorisch, ihm ein Windows Standard Icon verpasst und zwar weil ich es nicht auf die Reihe Bringe ihm das in dem verzeichnis liegende .ico zu nehmen. LRESULT IconDrawItem(LPDRAWITEMSTRUCT lpdi) { HINSTANCE hInst; HICON hIcon; hIcon = (HICON)LoadImage(hInst, "Calendar.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE); [I]richtig? und weiter ?[/I] // return [I]???[/I] } Muss hier ja einen Wert mitgeben denn ich in dieser Funktion bool __fastcall TForm1::BarMessage(DWORD dwMessage) { NOTIFYICONDATA tnd; PSTR pszTip; pszTip = GetTip(); tnd.cbSize = sizeof(NOTIFYICONDATA); tnd.hWnd = Handle; tnd.uID = IDC_MYICON; tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; tnd.uCallbackMessage = MYWM_NOTIFY; if (dwMessage == NIM_MODIFY) { tnd.hIcon = //Anderes ICON LADEN?? if (pszTip) lstrcpyn(tnd.szTip, pszTip, sizeof(tnd.szTip)); else tnd.szTip[0] = 0; } else { tnd.hIcon = LoadIcon(NULL,IDI_WINLOGO); // Standard Windows ICON LADEN tnd.szTip[0] = 0; } return (Shell_NotifyIcon(dwMessage, &tnd)); } Ich komm nicht drauf ist im ersten ein Fehler? Wie ruf ich das Icon denn dann auf?! Hab im i-net ähnliches gefunden aber nichts was mit weitergeholfen hätte
  22. Intervall heißt doch er prüft in diesem Intervall , also dieser Zeiteinheit die man ihm da mitgibt richtig?! Wie ist das dann, wenn ich heute sage er soll am 2.2.08 um 12 Uhr eine Erinnerung ausgeben. Wie läuft das dann ab?! Steig irgendwie nicht in die Funktionsweiße der Komponente ein. Habs bis jetzt so umgesetzt wie ich meinte, mit noch nem Thread und einer Schleife die dauernd die abgespeicherten Daten durchgeht und mit Datum und Uhrzeit abgleicht. Geht auch , brauch nur noch eine Idee wie ich mit dem Datum den Tag rausfinde. Praktisch ob der 19.12.07 ein Donnerstag is oder ein Mittwoch. Das schöne ist ja das immer mehr Wege zum Ziel führen
  23. Alle X Sec ist ja eher nicht so gut. Ich speichere ja Datum , bzw. Tag, und Zeit ab. Also muss ich ja erst den Tag abgleichen bzw. Datum (Sind 2 verschiedene Sachen in meinem Programm) und dann die Zeit. Da nützt mir die Funktion die du von Timer beschrieben hast denke ich mal nichts. Muss ich es wohl doch über meinen Ansatz machen?!
  24. Hallo Community, Ich bin gerade drüber einen Wecker in Windows zu programmieren. Man kann entweder bestimmte Tage angeben die die dann für jede Woche gelten oder man kan ein bestimmtes Datum eingeben. Dazu noch eine Uhrzeit und einen Text der dann Ausgegeben werden soll. Das ganze Übertrage ich in ein StringGrid und dann speicher ich es per StringList in eine txt. Beim nächsten Start werden die Vorhandenen Wecktermine wieder in das StringGrid geladen. Außerdem ist dem Programm noch in einem Label die aktuelle Uhrzeit und das Datum mitgegeben. Die Uhrzeit hole ich über TDateTime = Now() über Multithreading; So meine Frage ist nun , Der Benutzer hat seine Daten eingetippt und abgespeichert. Wie frage ich das ab? Ich denke das ich noch einen weiteren Thread erstellen muss und dort die Abfrage routine definieren muss. Die Abfrage ist dann eine for schleife die jede Sekunde oder eventuell Minute die Now() mit den einzelnen Werten aus der Liste vergleicht. wenn einer Identisch ist gibts ne Meldung oder nen Alarm. Sind meine Überlegungen bezüglich des alamierens meines Weckers richtig? Oder gibt es einen einfacheren Weg dann den Alarm auszulösen zu dem vorgegebenen Zeitpunkt? Mfg Alex

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...