| Autor |
Beitrag |
Necator
      
Beiträge: 28
|
Verfasst: Do 21.10.04 13:18
hi leute ich hab ein problem cih würde gerne ein programm programieren dass mir zunächst aus 10, 20, 30,... panels per zufall EINS zeigt nciht mehr und nciht weniger dann muss man in ein edit feld etwas eingeben was von dem abhänig ist was auf dem sichbaren panel draufsteht und dann sollte ein anders panel scihtbar werden!
ist das möglcih?? wenn ja wie!
P.S. cih habe keine ahnung wo cih es in diesem forum posten soll deshalb ists im off topic und cih hab dieses prob acuh nirgens gefunden bitte helft mir!!!
Necator
Moderiert von Christian S.: Topic aus Off Topic verschoben am Do 21.10.2004 um 14:43
Zuletzt bearbeitet von Necator am Do 21.10.04 13:49, insgesamt 1-mal bearbeitet
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Do 21.10.04 13:43
Hallo!
Bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Delphi-Forum.de Richtlinien:
| Richtlinien hat folgendes geschrieben: | 1.2 Beiträge
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]
|
Einfach oben bei Deinem ersten Beitrag auf "Edit" klicken und den Titel ändern. Dank Dir!
Grüße
Christian 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Necator 
      
Beiträge: 28
|
Verfasst: Do 21.10.04 13:48
werde cih amchen kannst du mir auch ncoh bei meinem prb helfen? besser so? mir fällt ncihts besseres ein!
Necator
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Do 21.10.04 13:52
Sichtbarkeit: TPanel.Visible (Onlinehilfe)
Zufällig eins auswählen: "RANDOM" ( "RANDOMIZE")
Das zufällige Panel auch als Instanz finden: "FINDCOMPONENT"
Text im Editfeld ändern: TEdit.Text (Onlinehilfe)
Und zu guter letzt das, was auf dem Panel drauf steht: TPanel.Caption (Onlinehilfe)
Und wenn du andere beeindrucken willst und nicht zig Panels von Hand zur Designzeit erzeugen willst: Einführung in Arrays und Komponenten-Arrays, Kapitel 6.
P.S.: Also ich weiß ja nicht, wie's euch geht, aber ich find's klasse, daß die Suchfunktion wieder funktioniert 
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Necator 
      
Beiträge: 28
|
Verfasst: Do 21.10.04 14:03
danke für die antwort dcoh cih hab ein problem mit dem verstehen udn cih lgaube du hast mich auch nicht so richtig verstanden cih will nicht den text ändern der im edit am anfang steht das weiß cih wie cih es hinbekomme sondern sobald der "Programmbenuzer" etwas bestimmtes in das edit feld eingegeben hat soll ein panel erscheinen und wenn es falshc ist gar ncihts pasieren das cih dazu dann ersteinml dem porg das richtige sagen muss ist mir klar NUR WIE????? und dann wäre da nocht die abhänigkeit von dem scihtbaren panel cih glaube cih erklär es besser mit dem zweeck den das prog haben soll:
das prog soll den lat schülern ne kleine hilfe sein allerdings nur für eigengebracuh und freunde und nciht für den mekrt:-P also jedenfals soll auf dem zufälligen panel ein wort stehn und in die edit felder muss man dann nominativ sg nominativ pl usw. eingeben wenn das jeweils richtig ist dann er schient ein panel wenn cniht dann pasiert ncihts!!!
hoff e ihr versteht das jetzt besser cih weiß ist zimelihc kompliziert
|
|
smiegel
      
Beiträge: 992
Erhaltene Danke: 1
WIN 7
D7 Prof., C#, RAD XE Prof.
|
Verfasst: Do 21.10.04 14:09
Hallo,
| Necator hat folgendes geschrieben: |
...
hoff e ihr versteht das jetzt besser cih weiß ist zimelihc kompliziert |
Ist das Deutsch oder eine andere Sprache? Kennst Du keine Satzzeichen wie Komma oder Punkt?
_________________ Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 21.10.04 14:17
Die Buchstabenverdreherei macht das lesen auch nicht leichter.
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Do 21.10.04 14:18
| Necator hat folgendes geschrieben: | | udn cih lgaube du hast mich auch nicht so richtig verstanden |
Ja das kann sein und könnte zum Beispiel daran liegen, daß du ohne Shift-Taste, ohne Grammatik ohne Orthographie und ohne Punkt und Komma schreibst
| Necator hat folgendes geschrieben: | | sobald der "Programmbenuzer" etwas bestimmtes in das edit feld eingegeben hat soll ein panel erscheinen |
Also das ging aus Deinem ersten Post nicht hervor
Da könntest du z.B. den Inhalt des Editfeldes (gleiches Property) überprüfen, entweder per Timer (ihhh!) oder per OnChange-Event des Edit-Feldes (jaa, schon besser).
Das sieht dann in etwa so aus: Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TForm1.Edit1Change(Sender: TObject); begin if Edit1.Text = was_bestimmtes then ZeigePanel; end; |
| Necator hat folgendes geschrieben: | | also jedenfals soll auf dem zufälligen panel ein wort stehn und in die edit felder muss man dann nominativ sg nominativ pl usw. eingeben wenn das jeweils richtig ist dann er schient ein panel wenn cniht dann pasiert ncihts!!! |
Also erstmal zufällig ein Panel anzeigen? Das geht dann mit Random und Findcomponent wie oben beschrieben.
Dann tippt der User was ins Editfeld und drückt zum Beispiel auf 'nen Button, wenn er meint, seine Eingaben seien richtig. Im OnClick-Event des Buttons überprüfst du dann, ob sie das tatsächlich sind, und falls ja, zeigst du das eine Panel an, das erscheinen soll, wenn die Eingaben richtig sind.
| Necator hat folgendes geschrieben: | | hoff e ihr versteht das jetzt besser cih weiß ist zimelihc kompliziert |
Der Sachverhalt vielleicht nicht, aber deine Erklärung.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
kachel81
      
Beiträge: 63
|
Verfasst: Do 21.10.04 14:54
Ich frage mich, ob Du wirklich so viele verschiedene Panels brauchst. Du brauchst doch warscheinlich nur ein Formular, dem Du die Vokabel und die Übersetzung gibst und das ganze dann auswertet.
|
|
Necator 
      
Beiträge: 28
|
Verfasst: Do 21.10.04 16:35
| kachel81 hat folgendes geschrieben: | | Ich frage mich, ob Du wirklich so viele verschiedene Panels brauchst. Du brauchst doch warscheinlich nur ein Formular, dem Du die Vokabel und die Übersetzung gibst und das ganze dann auswertet. |
Verstehe ich nicht wirklich. Aber wenn ich mir die ganzen Panels sparen kann wäre cih froh weil es sind verdammt viele!
Sry@all die es gestört hat, dass ich weder Groß- Kleinschreibung noch Satzzeichen beachtet habe, aber das kommt daher, dass ich mir das 10fingerschreiben selber und falsch beigebracht hab und damit 1.sehr viele Tippfehler habe und 2. Satzzeichen warn mir im PC nie wichtig. Sry nochmal wenn so besser ist dann kann ich das machen brauche dann zum posten nur die doppelte Zeit! Allerdings lieber die doppelte Zeit brauchen als dass ihr mir nicht helft!
Und nun noch danke an die die mir jetzt geholfen haben!
Necator
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Do 21.10.04 16:47
| Necator hat folgendes geschrieben: | | Verstehe ich nicht wirklich. Aber wenn ich mir die ganzen Panels sparen kann wäre cih froh weil es sind verdammt viele! |
Du kannst auch in deinem Programmcode, also zur LAufzeit des PRogrammes, die Texte auf den Panels ändern.
Anstatt also schon zur Entwicklungszeit die ganzen Panels zu erzeugen und dann jeweils eines davon anzuzeigen, kannst du auch nur ein einziges Panel nehmen und dessen Caption in deinem Programmcode ändern.
Dazu kannst du die Strings beispielsweise in einem Array speichern und dann mit Random einen String aus diesem Array raussuchen und denn dann in deinem Programmcode mittels Panel1.Caption := vokabeln[random(x)] auf dem Panel anzeigen.
| Necator hat folgendes geschrieben: | | Allerdings lieber die doppelte Zeit brauchen als dass ihr mir nicht helft! |
So sieht's aus, denn andersrum brauchen wir die doppelte Zeit um deinen Buchstabensalat zu entziffern, und wir wollen ja nicht vergessen, wer hier was von wem will 
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Necator 
      
Beiträge: 28
|
Verfasst: Do 21.10.04 17:30
verstanden habe ich das jetzt nur:
Wie mache ich dann von dem was da steht das Abhängig was in Edit x stehen muss?
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Do 21.10.04 17:37
| Necator hat folgendes geschrieben: | verstanden habe ich das jetzt nur:
Wie mache ich dann von dem was da steht das Abhängig was in Edit x stehen muss? |
Alles was du verstanden hast ist eine Frage?
War ich etwa so schlecht?
Wie machst du denn das, was im Edit steht, von dem Text auf dem Panel abhängig, wenn du ganz viele Panels hast? Irgendwie brauchst du doch eine Liste von Kombinationen, die "richtig" sind. Wo holst du die her? Wie hast du dir das Ganze vorgestellt mit der Überprüfung?
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Necator 
      
Beiträge: 28
|
Verfasst: Do 21.10.04 17:46
Ok also ich hab mir gedacht
die Lieste der richtigen Sachen muss ich irgendwo hinschreiben. Das weiß ich auch nicht wo. Das muss ich auch noch wissen und dann sollte das am ende so aussehn
wenn das panel auf dem das zu deklinierende Wort steht sichtbar ist dann im edit1 das steht was richtig ist und man dann auf panelx klickt soll panely erscheinen auf dem richtig oder so steht.
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Do 21.10.04 18:04
Kann es sein, daß du ein bisschen verliebt in Panels bist?
| Necator hat folgendes geschrieben: | | wenn das panel auf dem das zu deklinierende Wort steht sichtbar ist dann im edit1 das steht was richtig ist und man dann auf panelx klickt soll panely erscheinen auf dem richtig oder so steht. |
Für das zum draufklicken würde ich einen Button nehmen, für die Anzeigen von "richtig" ein Label
Wegen optischer Effekte das zu deklinierende Wort unbedingt auf einem Panel stehen soll, dann soll es das halt...
| Necator hat folgendes geschrieben: | | die Lieste der richtigen Sachen muss ich irgendwo hinschreiben. Das weiß ich auch nicht wo. Das muss ich auch noch wissen |
Ich empfehle ja CSV (Comma Separated Values, also Werte, durch Komma getrennt) empfehlen. Einlesen und interpretieren kannst du dann mit "READLN" und dieser Funktion, nachdem du sie vielleicht darauf angepasst hast, mit Records umzugehen. Das wäre nämlich mein zweiter Vorschlag, jedes Wort wird in einem Record gespeichert: Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| TWort = record Wort: String; Nominativ_1_Singular: String; Nominativ_2_Singular: String; end; | Jede Zeile aus der CSV-Datei ist jetzt ein so ein Record, den du mit der oben verlinkten Funktion füllen müsstest.
Dann bastelst du dir mit einem "array of TWort" eine unsortierte Liste der Wörter, indem du jede Zeile der CSV-Datei durchgehst. Dann brauchst du dir nur noch ein Element aus diesem Array rauszusuchen und zeigst entsprechend das Feld "Wort" des Records an und lässt die restlichen Daten eingeben. Wenn man dann auf den Button klickt, wird überprüft, ob die Eingabe mit den Daten im Record übereinstimmt und falls ja, wird in einem Label "Richtig" angezeigt und ein neuer Zufallswert aus dem Array geholt.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Necator 
      
Beiträge: 28
|
Verfasst: Do 21.10.04 18:17
| tommie-lie hat folgendes geschrieben: | TWort = record
Wort: String;
Nominativ_1_Singular: String;
Nominativ_2_Singular: String;
// und immer so weiter
end;
|
kommt statt string da dann das rein was da zu stehen hat oder was wenn ich das geklärt hab versuch ich das prog fertig zu stellen dann kann es sein es gibt neue pros und sonst wird das prog fertig gestellt und ich kann mich freuen das mit den panels kommt daher, dass ich mit delphi ncit viel anderes gelernt hab! Werde deine Ratschlag der Optik aber befolgen!
Necator
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Do 21.10.04 18:47
| Necator hat folgendes geschrieben: | | kommt statt string da dann das rein was da zu stehen hat oder was |
Nein, das ist die Deklaration, die sagt Delphi, daß "Wort", " Nominativ_1_Singular" usw. vom Typ String (also Zeichenketten) sind. Den Wert reinschreiben musst du später, wenn du das array benutzt. Am besten du befasst dich überhaupt erstmal mit den Grundlagen, z.B. hier oder im Delphi-Buch deines Vertrauens.
| Necator hat folgendes geschrieben: | | dann kann es sein es gibt neue pros |
Solange du die Regel befolgst "pro Problem ein Topic" macht das überhaupt nichts.
| Necator hat folgendes geschrieben: | | Werde deine Ratschlag der Optik aber befolgen! |
Ich glaub' du hast mich falsch verstanden.
Ich würde TLabel und TButton nehmen, weil sie dafür gemacht wurden, daß sie was anzeigen bzw das man auf sie draufklickt. Falls du aber aus optischen Gründen (Rahmen oder so) aber unbedingt ein Panel üb die anzuzeigenden Wörter haben willst, ist das vorerst auch in Ordnung und stört erstmal niemanden. "Normal" wäre aber ein Label, um etwas anzuzeigen.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Necator 
      
Beiträge: 28
|
Verfasst: Do 21.10.04 20:06
also ich hab da jetzt ein problem ich hab mich entschlossen das ganze von Hand einzugeben und das so zu machen wie:
Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TForm1.Edit1Change(Sender: TObject); begin if Edit1.Text = was_bestimmtes then ZeigePanel; end; |
hier und hab da jetzt das "was_bestimmtes" durch die richtige Form in dem Fall den ich genommen hab mulier crudelis
und dann kommt das
Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TForm1.Panel11Click(Sender: TObject); begin if Edit1.Text= mulier crudelis then Label4.Visible:=true; end; |
das ist der "wichitge" teil des progs und ein on klick ereigniss und dann kommt:
[Error] Unit1.pas(70): Undeclared identifier: 'mulier'
was kann ich da machen?
ich hoffe mal ich hab nicht gegen eine board regel verstosen!
Aber ich finde es ist immer noch das selbelbe Problem
Necator
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Do 21.10.04 21:14
Gib's zu, du hast die Einsteigertutorials nicht gelesen!
Wenn du willst, daß "mulier crudelis" als String verarbeitet wird, musst du ihn auch wie einen String kennzeichnen, in Delphi geschieht das mit einem Apostroph. Der Code wäre also richtig Delphi-Quelltext 1: 2:
| if Edit1.Text = 'mulier crudelis' then Label4.Visible:=true; |
Aber da sowas wirklich zu den Grundlagen gehört und das sicherlich nicht deine einzige Lücke auf dem Gebiet ist, lege ich dir wirklich nahe, dich erstmal mit den Grundlagen überhaupt zu beschäftigen, sprich Syntax, Datentypen, Kontrollstrukturen und so weiter. Die beiden Grundlagentutorials, die ich dir oben verlinkt habe, sind da ntürlich nur ein kleiner Überblick, ein weiteres findest du jhier. Ansonsten hilft ein gutes Buch auch weiter (Empfehlungen habe ich nicht, aber in der hiesigen Bücherecke findet sich vielleicht was Passendes).
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Necator 
      
Beiträge: 28
|
Verfasst: Fr 22.10.04 13:16
Ok danke für den Tipp aber das mit dem Einsteiger-Tourial stimmt nicht ich habe das mit dem 1. Programm gemacht!
dürfte jetzt keine Probleme mehr geben!
Necator
|
|