Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi hilfe mit variablen (https://www.delphipraxis.net/2600-hilfe-mit-variablen.html)

Pulli 30. Jan 2003 14:13


hilfe mit variablen
 
Hallo Leute bin neu hier und auch in der Programmierer Ecke :roll:

ich hab ein Problem mit textfeldern. ich hab die textfelder als variablen deklariert und will die jetzt in eine if bedingung schreiben , dass eine fehlermeldung wenn man nichts in das textfeld eingibt. Ich hab es bis jetzt nicht geschafft , aber vielleicht könnt ihr pros mir ja helfen :D

Ich weiß auch nicht ob ich mich hier richtig ausgedrückt hab und ob es im richtigen bereich des forum gepostet habe , naja bin halt in der hinsicht ein newbie :mrgreen:

aber thx schonmal im voraus, falls ihr auszüge aus dem quelltext braucht sagt bescheid, ich pack die dann hier rein.

mfg
Pulli

Sharky 30. Jan 2003 14:20

Re: hilfe mit variablen
 
Hai Pulli,

willkommen im Forum.

Zitat:

Zitat von Pulli
ich hab ein Problem mit textfeldern. ich hab die textfelder als variablen deklariert und will die jetzt in eine if bedingung schreiben , dass eine fehlermeldung wenn man nichts in das textfeld eingibt ....

Ich verstehe nicht so ganz was Du mit Textfeldern meinst?
Ich denke mir Du hast auf deiner Form mehrere Editfelder und möchtest nun prüfen ob in den Felder entwas eingegeben wurd?

Wenn JA:

Schreibe mal in das OnExit Ereignisses von deinem Edit:

Delphi-Quellcode:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
 If (Trim ((Sender As TEdit).Text) = '') then
  begin
   ShowMessage ('Bitte etwas eingeben');
   (Sender As TEdit).SetFocus;
  end;
end;
Bei Fragen -> schreiben :)

Pulli 30. Jan 2003 15:53

jo
 
jojo so hatte ich mir das gedacht , nur es klappt nicht beim compilieren kommt immer eine fehlermeldung "=" gefunden obwohl *)* erwartet. ich hab dich mal im icq geaddet (][DN][Pulli) , da können wir einfacher reden :D

Sharky 30. Jan 2003 16:02

Re: jo
 
Zitat:

Zitat von Pulli
...kommt immer eine fehlermeldung "=" gefunden obwohl ) erwartet. ich hab dich mal im icq geaddet ...

Das sieht so aus als hättest Du eine Klammer '(' zu viel gesetzt.

Zähle sie noch einmal nach. Über ICQ bin ich tagsüber nicht online.

Das nutze ich nicht auf dem Rechner im Büro.

Daniel B 30. Jan 2003 16:07

Hallo Pulli,

erstmal herzlich Willkommen! :bounce2:

Wenn Du nur überprüfen willst, ob ich einem Edit was drin steht oder nicht, dann hilft Dir auch dieses:
Delphi-Quellcode:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if Length(Edit1.Text) = 0 then
  begin
    ShowMessage('Bitte erst was eingeben!');
  end;
end;
Und damit nichts schief geht, schreibst Du ins OnPaint des Formulares: Edit1.SetFocus;
Damit wird der Cursor ins Edit gesetzt und beim verlassen des Editfeldes, wird obige Prozedur ausgeführt.

Grüsse, Daniel :hi:

Pulli 30. Jan 2003 16:10

ich kopier dir mal den source mom
 
das ist der code für den button der das ergebnis ausrechnet und die variablen:
Delphi-Quellcode:
var
  Form1: TForm1;
  a,b,c,d,e,f,g:real;


procedure TForm1.rechnenClick(Sender: TObject);
begin
a:=strtofloat(anzahl_rechner.Text);
if a < 0 then
begin
Application.MessageBox('Bitte eine Zahl über Null eingeben!' , 'Warnung !' , 48);
anzahl_rechner.ReadOnly:=true;
laenge.ReadOnly:=true;
rechnen.Hide;
exit
end;
b:=strtofloat(strom_kwh.Text);
c:=strtofloat(laenge.Text);
if c < 0 then
begin
Application.MessageBox('Bitte eine Zahl über Null eingeben!' , 'Warnung !' , 48);
anzahl_rechner.ReadOnly:=true;
laenge.ReadOnly:=true;
rechnen.Hide;
exit
end;
d:=a*0.35;
e:=d*b*c;
f:=(d*1000)/ 230;
ampere.Text:='' +floattostr(f);
pkw.Text:=''+floattostr(d);
stromkosten.Text:=''+floattostr(e);
anzahl_rechner.ReadOnly:=true;
laenge.ReadOnly:=true;
rechnen.Hide;
end;
hoffe du kannst was damit anfangen :)
so wie ich das mit den zahlen unter null will ich das auch machen mit dem nichts eingeben.

PS: Daniel B hab deinen source auchmal probiert kommt aber wieder die gleiche fehlermeldung :(

Daniel B 30. Jan 2003 16:57

Hallo Pulli,

mein Code und der von Sharky funktionieren wunderbar!
Der Fehler liegt also woanders.
Post bitte die ganze Unit, falls die nciht zu lang ist, einfacher wäre es die .pas einfach als Anhang anzuhängen.
Im mom. erkenne ich keinen Fehler in dem Code, der Fehler scheint! aber woanders zu liegen.

Grüsse, Daniel :hi:

Christian Seehase 30. Jan 2003 16:57

Moin Pulli,

wenn Du jedesmal wenn ein Wert < 0 eingegeben wird die Felder auf ReadOnly setzt, kann kein korrekter Wert mehr eingegeben werden.

Pulli 30. Jan 2003 17:04

jo leute
 
irgendwie hab ich das nit gepeilt mit dem OnExit. Das mit dem readonly hat seinen zweck, hab noch nen button "neu" der setzt alle werte wieder zurück und hebt das wieder auf und holt den button rechnen zurück. hab das prob aber auch so gelöst ;)
aber trotzdem thx für eure hilfe

Daniel B 30. Jan 2003 17:13

Re: jo leute
 
Zitat:

Zitat von Pulli
irgendwie hab ich das nit gepeilt mit dem OnExit

Also, dieses Ereigniss tritt ein, sobald das Edit, den Fokus verliert, also der Cursor da rausgeht. Dies geschieht indem man in ein anderes Edit klickt, oder auf ein Button, o.ä.! Sobald eine Komponente den Fokus verliert, tritt dieses Ereigniss ein. Du musst nur im Object Inspector sehen, ab es bei Deiner gewünschten Komponente dabei ist. Den nicht jede Komponente von Delphi hat diese Eigenschaft.

Der Code den ich geschrieben habe, vergleicht nur eines:

Mit der Funktion "Length()" erhält man die länge eines Stringes.
Mit "if Length(Edit1.Text) = 0 then" frage ich ab ob die länge des Textes im Edit gleich 0 ist. Wenn dies der Fall ist, wenn also nichts im Edit steht, dann wird die Message ausgeführt/angezeigt.

Grüsse, Daniel :hi:

Pulli 30. Jan 2003 19:09

jo die funktion hab ich davon verstanden , nur wie ich diese in den source einfüge nicht :)
aber is jetzt egal mein prog is jetzt so gut wie fertig.
aber mal ne andere , woher habt ihr euer ganzes wissen übers programmieren? bücher? ausprobieren? foren wie dieses? :D

falls ihr bücher verwendet , könntet ihr mir bitte ein paar gute empfehlungen geben?weil ich habe spass am programmieren , nur ich brauche erstmal ein gutes hintergrundwissen und grundlagen :)

mfg
Pulli

Daniel B 30. Jan 2003 19:21

Zitat:

Zitat von Pulli
jo die funktion hab ich davon verstanden , nur wie ich diese in den source einfüge nicht :)

Klicke das Edit an. Im ObjectInspector klickste Du auf den Reiter "Eiugenschaften".
Da gibt es eine Liste u.a. mit OnExit. Rechts, also in der weissen fläche, machst Du ein Doppelklick. Dann wird die Prozesdur automatisch angelegt. Das wars!
Zitat:

aber is jetzt egal mein prog is jetzt so gut wie fertig.
aber mal ne andere , woher habt ihr euer ganzes wissen übers programmieren? bücher? ausprobieren? foren wie dieses? :D
Das meiste aus der Delphi-Hilfe, auch OH genannt, immer über F1 erreichbar. ;)
Dann noch ein paar Büchern natürlich auch. Und solche Foren wie diese hier natürlich auch. Wobei ich hier am meisten lerne.In anderen Foren ist das Klima nicht ganz so gut, mag vielleicht auch daran liegen das die User-Zahlen die 2-3000er MArke übersteigen. Da gibt es natürlich auch ein paar schwarze Schaffe.
Zitat:

falls ihr bücher verwendet , könntet ihr mir bitte ein paar gute empfehlungen geben?weil ich habe spass am programmieren , nur ich brauche erstmal ein gutes hintergrundwissen und grundlagen :)
Dann kauf Dir auf jedenfall den Handbuchsatz von Delphi 6 oder 7. Kostet etwa 30-40€. Aber das ist das einzigst wahre.
Da ist auch die Sprachreferenz dabei, wenn Du die drin hast, dann hast Du das schlimmste schon geschafft. Also die Grundlagen.
Alles andere wie "Kochbuch", "Grundlagen und Profiwissen", Nachschlagen und verstehen" usw. solche Büchern sind nciht so toll, der Preis ist auch ziemlich "heftig". Dafür bekommst man nur Bücher, die den Source schlecht oder fehlerhaft erklären, teilweise ist sogar fehlerhafter Source vorhanden. Den Fehler hab ich mal gemacht. Ich habe hier Bücher für etwa 400€ rumliegen, nach drei Monaten habe ich festgestellt, das die Sprachreferenz und die OH, vollkommen ausreichend sind. Und Foren. ;)
Das möchte ich Dir ans Herz legen, vergiss diese "fetten" Schinken, kauf Dir den Handbuchsatz, nimm Dir die OH vor und Du wirst schneller und besser lernen als aus solchen Büchern und das auch noch richtig.
Wenn Du aber hier anfängst mit: "Wie geb ich in einer Message 'Hallo World!' aus, dann steigt ich Dir auch die Zehen. ;) :twisted:
Ich möchte Dich und auch niemand anderen "vergrauen", aber wenn jemand bei der aller ersten Zeile die man lernt, schon im Forum das fragen anfängt, dann siehts düster aus.

Grüsse, Daniel :hi:

Pulli 31. Jan 2003 11:58

hehe
 
ne so schlimm is es ja zum glück nich :) das ich für das 'Hallo Welt Programm' im Forum nachfragen muss :D
aber das delphi 6 buch wär net schlecht, wär aber cool wenn du mir eine ISBN Nr geben könntest , damit ich mir das mal bestellen könnte :wink:

aber ich muss sagen , ihr seit echt nett und anfängerfreundlich!
macht auf jeden fall weiter so.

mfg
Pulli

Daniel B 31. Jan 2003 15:14

Re: hehe
 
Zitat:

Zitat von Pulli
aber das delphi 6 buch wär net schlecht, wär aber cool wenn du mir eine ISBN Nr geben könntest , damit ich mir das mal bestellen könnte

Dann siehe hier, ist zwar für D7, aber das macht nichts. Kostet 35€. Aber das ist das was man sich als Anfänger kaufen sollte. Gleich das erste.
Die drunter von Doberenz sind die Bücher von denen ich eher abraten würde. Ich hatte sehr viel Geld in die reingesteckt, das einzigste was ich noch davon hab, sind etwa 10Kg Papier das im Regal verstaubt. :shock:
Eine ISBN haben die Bücher nicht, jedenfalls steht keine drauf. Man kann die auch nicht überall kaufen, aber meistens dort wo auf Delphi slebst verkauft wird. Ich hba damals auch in diesen Shop die für D6 gekauft, da D6 nicht "mehr" aktuell ist, stellen alle auf D7 um. Ist aber kein Problem.

Grüsse, Daniel :hi:

Luckie 31. Jan 2003 16:53

Was steht denn in den Handbuchsatz drin? Gibt es da irgendwo eine Inhaltsangabe? Sind Beispiel-Quellcodes drin?

Daniel B 31. Jan 2003 17:20

Also, als erstes ist die Sprachreferenz dabei.
Also im prinzip die Grundlagen. Ich zitiere mal nur ein bisschen!!! aus der SPrchreferenz Inhaltsangabe.
Alles bezogen auf den D6 Handbuchsatz!
"Die ersten sieben Kapitel beschreiben die meisten der in der normalen Programmierung verwendeten Sprachelemente. Kapitel 8 enthält einen Überblick über die Standardroutinen für E/A-Operationen und String-Bearbeitung.
Die nächten Kapitel enthalten Informationen über Spracherweiterungen für dynamische Linkbibliotheken und Packages(Kapitel 9) und für Objektschnittstellen(Kapitel 10). In den letzten drei Kapiteln werden Themen für fortgeschrittene Programmierer behandelt: Speicherverwaltung(Kapitel 11), Ablaufsteuerung(Kapitel 12) und Verwendung von Assembler-Routinen in Pascal-Programmen(Kapitel 13)."

Inhaltverzeichniss ist 4 Seiten lang und ich werde es mit sicherheit nicht zitieren. ;)
Ist wie eine gedruckte OH. Es geht los mit wie eine Unit aussehen muss, also wirklich den BAsics. Dann sind die Uses dran, usw. Datentyen, Strings, Integer usw. Arrays, Umwandlungen, Operatoren, Grammatik, wie macht man zuweisungen. Also wirklich von anfang an, wie man es halt richtig lernen sollte. Hinten im Buch gibt es auch noch ein Stichwort-Verzeichniss.
Man muss schon viel lesen/lernen, bis man endlich mal zum Hello World! Beispiel kommt. ;)
Nicht so wie in den "fetten" Schinken von Doberenz usw. Wo auf der ersten Seite der Komplette Code von Hello World zum abtippen bereit ist und danach ein Brispiel wie man mit Messages umgeht. Ne ne, so nicht.
Das ist kein Buch zum Spielen, sondern um die Sprache von grund auf zu erlernen. Mit allem was dazu gehört.

Das Buch ist etwa 1,5cm Dick, aber das sind halt nur Grundlagen. Wer das drin hat, der kann schon echt viel.

Dann ist noch dabei, das Entwicklerhandbuch. Das etwa 6-7cm Dick ist. Und auch schwer. ;)
Hierbei haben wir es mit einem Inhaltverzeichniss auf 27 Seiten zutun. :shock: ;)
Hier geht es so richtig ab!
IDE, Komponentenbibliotheken und Entwicklung, VCL, CLX, RTL, Programmieraufgaben, Compiler-Direktiven, E/A, DLL, Benutzeroberflächen, Steuerelemente, Multi-Thread Anwendungen, Vergleich der Units der VCL mit den CLX, CLX für plattformübergreifende Entwicklung, Anwendungen für den internationalen MArkt, dann natürlich Datenbanken, Datenmengen, Verbindungen zu Datenbanken, Felder Kreuztabellen, BDE, ADO, Unidirektionale Datenmengen, Client-Datenmengen, Provider-Komponenten, XML, Mehrschichtige Anwendungen, DCOM, Sockets, HTTP, SOAP, CORBA, XML-Broker, XML in Datenbankanwendungen, Internet Anwendungen, Web-Broker, WebSnap, Web-Dienste, COM, COM-Clients/Server erstellen, Active-Server-Seiten erstellen, ActiveX erstellen und benutzen, TCP/IP, OLE, MTS- oder COM+-Objekte erstellen, Komponetenentwicklung für VCL und CLX, OOP für Komponetenentwickler, Grafiken in Komponeten, Botschaftsbehandlung, vorhanden Komponenten modifizieren, grafische Kompos erzeugen, Gitter apassen Datensensitive Steuerelemente erstellen.

So, jetzt langts wieder, das ist nicht alles, es ist ne Menge drin.
Und ich wage zu behaupten, wenn man diese beiden Bücher drin hat, dann kann man schon vielen Programmieren was vormachen.

So genug Werbung, langt Dir das jetzt?
Ich kann diesen Handbuchsatz nur jedem EMpfehlen, egal ob man PE, Pro. oder Ent. hat, die Bücher sind für alle geeignet, wobei ja das dünnere nur die Sprachreferenz von Object Pascal ist.
Es ist keinesfalls leichte Lektüre, aber die richtige Wahl um alles von anfang an richtig zu lernen und komplett.

Grüsse, Daniel :hi:

Daniel B 31. Jan 2003 17:23

Zitat:

Zitat von Luckie
Sind Beispiel-Quellcodes drin?

Achso, hab ich ganz vergessen. ;)
In der Referenz ja, im Entwicklerhandbuch eher weniger, ist ja auch nicht nötig. Es sind natürlich Beispiele drin, aber man sollte nicht erwarten wie bei Doberenz, das von jeder Seite, 70% nur Source ist.
Das hier sind Bücher zum lernen und selber Tüfteln, aber wenn man die Referenz drauf hat, gibts keine Probleme!!
Hoffentlich schreckt das jetzt nicht ab. ;)

Grüsse, Daniel :hi:

Pulli 19. Mai 2003 21:41

so re :)
 
Liste der Anhänge anzeigen (Anzahl: 1)
naja nachdem ich meine platte formatieren musste hab ich ganz vergessen mal wieder hier vorbei zu schauen :D
leider hab ich die source datei vom meinem programm nicht mehr , aber noch die 1.0 version als exe :)
naja für euch bestimmt ein anfänger prog , aber für mein erstes programm wie ich finde nich schlecht *stolz sei* *gg*
ich hab es mal als attachment drangepackt wer es saugen möchte kann dies gerne tun , über verbesserungsvorschläge etc würde ich mich sehr freuen 8)

Pulli 19. Mai 2003 21:56

zum thema bücher
 
danke das du dir zuviel müe mit der auflistung der referenzen zu delphi gemacht hast @ Daniel B
ich werde aufjedenfall deinen rat befolgen und den handbuchsatz kaufen :)
zwar erst nächsten monat aber das macht nichts und dann wirkt gepaukt wie ein blöder ^^
und wenn ich dan noch fragen habe weiß ich an wenn ich mich richten kann :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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