Autor |
Beitrag |
Foxhunting
      
Beiträge: 31
WIN XP
Delphi 7 und Bald C++
|
Verfasst: Do 24.01.08 00:55
Hey
Es geht mal wieder um das Misswahlen Programmen kurz zur erklärung:
- habe in einem Memo 120 Namen von Frauen stehen
- lass mir davon 10 stück über Randomize ausgeben
und jetz das Problem
wenn ich durch eine Randomize mir aus dem Memo 10 Zeilen zufällig ziehen lasse. Kann ich dann diese ausgabe speicheren und das beim wieder öffnen des Programm auslessen lassen das die nicht noch mal gezogen werden weil es jeden Monat eine wahl statt finden soll und im Jahr keine doppel erscheine soll??
Wenn ihr was net versteht dann schreiben versuche es dann besser zu erklären!!!
MfG Fooxhunting
|
|
Jann1k
      
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Do 24.01.08 01:05
natürlich kannst du das schau dir dazu mal die klassen tinifile oder tfilestream an
|
|
Foxhunting 
      
Beiträge: 31
WIN XP
Delphi 7 und Bald C++
|
Verfasst: Fr 25.01.08 18:21
OK habe da schon bissel geschaut.
Kann das mal jemdan erklären wie das so funktioneirt???
mfg foxhunting
|
|
Jann1k
      
Beiträge: 866
Erhaltene Danke: 43
Win 7
TurboDelphi, Visual Studio 2010
|
Verfasst: Fr 25.01.08 18:47
knants ud ezrählne wsa du an den klasesn nicht verstesht?
|
|
ub60
      
Beiträge: 764
Erhaltene Danke: 127
|
Verfasst: Fr 25.01.08 18:56
Eigentlich wollte ich ja nur helfen, wenn bei den Missen auch Fotos dabei sind ..
Naja, trotzdem eine Idee.
Leiste Dir noch eine zweite Memo-Komponente, eine Listbox oder eine Stringliste. Die haben alle drei das was Du benötigst:
- eine Methode LoadFromFile zum Laden
- eine Methode SaveToFile zum Speichern
- und eine Methode IndexOf, um nachzuschauen, ob eine Zeile schon in einer ListBox o.ä. vorhanden ist.
Beispiel:
Delphi-Quelltext 1: 2: 3:
| Missi:=MissMemo.Lines[Zufallszahl]; if AuswahlMemo.Lines.IndexOf(Missi)=-1 then |
ub60
|
|
Foxhunting 
      
Beiträge: 31
WIN XP
Delphi 7 und Bald C++
|
Verfasst: Fr 25.01.08 20:23
Jann1k hat folgendes geschrieben: | knants ud ezrählne wsa du an den klasesn nicht verstesht? |
wie ich die ein baue wiel wir so was noch nicht hatten und so wie es aus sieht auch nicht machen werden!! weil die Hilfe im Delphi komme ich nicht so dirkt weiter oder hast eine idee wo ich noch nach schauen kann??
Mfg Foxhunting
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Fr 25.01.08 20:42
Hier sollt es hin
Du hast doch nun in deinen anderen Thread wo es um das gleiche Thema geht schon genug Vorschläge und Beispiele bekommen, so langsam müsste es doch was werden.
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
Foxhunting 
      
Beiträge: 31
WIN XP
Delphi 7 und Bald C++
|
Verfasst: Fr 25.01.08 20:45
Ja Klar langsm wird es aber haber erst mit Delphi angefangen und werden aber auch schon bald C++ weiter machen.(in der Schule) deswegen!! aber langsam nimmt es gestallt an. und den anderen Thrad habe ich später erstellt weil man soll keine 2 Fragen in einem Thrad schrieben. wegen durcheinander kommen. wurde mit gesagt!!
Aber Danke für di großzüge Hilfe
Foxhunting
Zuletzt bearbeitet von Foxhunting am So 27.01.08 23:38, insgesamt 1-mal bearbeitet
|
|
Foxhunting 
      
Beiträge: 31
WIN XP
Delphi 7 und Bald C++
|
Verfasst: So 27.01.08 23:37
Also habe mal bissel versucht aber komme mal wieder nicht weiter.
Ich will jetzt überprüfen ober der gezogene Eintrag schon inder INI-Datei ist oder nicht??
so sieht es jetzt aus!!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| var i, LineNumber : Integer; Zeilen: TStringList; ini: TIniFile; z:string; begin Zeilen := TStringList.Create; Zeilen.AddStrings(Memo1.Lines); ini:=TIniFile.Create('E:\Alexander_Müller\Arbeiten_Comp\Miss_wahl\Miss_Neu\Frauen.ini'); for i := 1 to 10 do begin randomize; LineNumber := Random(Zeilen.Count); Memo2.Lines.Add(Zeilen[LineNumber]); if Zeilen[LineNumber] = 'Frauen.ini' then begin LineNumber := Random(Zeilen.Count); Memo2.Lines.Add(Zeilen[LineNumber]); end; ini.WriteString(timeToStr(time), 'name '+ IntToSTr(i), Zeilen[LineNumber]); Zeilen.Delete(LineNumber); end; Zeilen.Free; |
wenn ihr ideen habe oder vorschläge wie ich es Programmiernen kann!! dann her damit!
Habe mir auch die anderen sachen durch gelesen aber so richtig komm ich nicht da hinter!
Ich hoffe ihr könnt mir Helfen!!
Danke an alle die Helfen
Mfg Foxhunting
Moderiert von Narses: Code- durch Delphi-Tags ersetzt
|
|
ub60
      
Beiträge: 764
Erhaltene Danke: 127
|
Verfasst: Mo 28.01.08 00:23
Vergiss die INI-Dateien. Die sind für diese Aufgabenstellung absolut ungeeignet! Nicht dass es nicht gehen würde, aber es ist nicht sinnvoll.
Du solltest noch mal meinen Tipp von oben lesen. Da hast Du das Prob in ca. 10 Zeilen gelöst.
ub60
|
|
Foxhunting 
      
Beiträge: 31
WIN XP
Delphi 7 und Bald C++
|
Verfasst: Mo 28.01.08 00:52
ok dann mal ne frage dazu
ub60
ub60 hat folgendes geschrieben: |
Beispiel:
Delphi-Quelltext 1: 2: 3:
| Missi:=MissMemo.Lines[Zufallszahl]; if AuswahlMemo.Lines.IndexOf(Missi)=-1 then |
|
SO richtig begreife ich das IndexOf net?
müsste nicht nach den then was kommen?? die ich schon gezogen habe oder so (Datei???)
weil sonst muss ich doch dafür sorgen das er die mir nicht doppel bringt das ist mein Problem muss ich nicht eine datei nehmen wo ich das hin speicher???
Weil wenn ich das Programm schließe und wieder öffne weiß er ja nicht welcher er schon mal gezogen hat oder??
Aber Danke erstmal
PS: Werde mal das um Programmieren versuchen!!
|
|