Autor Beitrag
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Di 19.09.06 01:13 
Überprüfe vielleicht nochmal genau, ob sich in die code.txt eine leertaste oder ähnliches eingeschlichen haben könnte... falls nicht, solltest du uns vielleicht mal deine code.txt und den verschlüsselten Text geben, um zu sehen, ob es daran liegen könnte...

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Di 19.09.06 06:26 
wie genau zählst du denn jetzt?!

wie christian schon sagte, fangen arrays bei 0 an, nicht bei 1. hast du jetzt trotzdem bei 1 angefangen, ins array zu schreiben, oder bei 0??

_________________
Anonymes Eckenkind
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Di 19.09.06 08:47 
Mementan sieht die Code.txt so aus
ausblenden Quelltext
1:
2:
3:
1246
5432
5456


Und mein Delphicode so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var f : TextFile;
    dir : string;
    i : integer;
    zeile : Array of string;
begin
  if OpenDialog1.Execute() then //wenn der dialog zum öfnnen einer datei betätigt ist dann
  begin
    i := 250;
    dir := 'C:\code.txt'//dateipfad
    AssignFile (f, dir); //datei öffnen, dir = dateipfad
    Reset (f); //'f' zurücksetzen
    while not EOF(f)do //weil das dokument ncoh nciht zu ende ist tue
    begin
      inc(i); //increas (i := i + 1;)
      SetLength(zeile, i); //größe des arrays anpassen
      ReadLn(f, zeile[i]); //zeile auslesen und in 'zeile' speichern
      //memo1.lines.add(zeile[i]); //memo1.text soll JEDE zeile anzeigen. <Sicherheitscheck.
    end;
    memo1.lines.LoadFromFile(OpenDialog1.FileName); //zeige die Datei in Memo1 an.
    memo1.Text :=  StringReplace (memo1.text, zeile[1], 'a', [rfReplaceAll]);


Die letzte zeile soll er eben dann schon auslesen, also soll er '1264' durch 'a' ersetzen.
Es hat auch schon geklappt, befor ich die code.txt hatte, wenn ich da anstatt 'zeile[1]' '1264' hinschreiben würde, würde er auch ein 'a' draus machen aber so...
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Di 19.09.06 08:54 
denk doch mal in aller ruhe durch, was du machst...

du setzt i auf 250
dann zählst du i hoch (251)
setzt die länge von deinem array auf i also auf 251
und schreibst an stelle i vom array deine erste code-zeile rein...
na, wo könnte jetzt dein erster wert aus der textdatei stehen?! wohl kaum in zeile[1]

ich sags noch ein letztes mal:
du übernimmst dich mit deinen vorhaben...
fang von vorne an, wenn du delphi wirklich lernen willst...

_________________
Anonymes Eckenkind
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Di 19.09.06 09:06 
Naja pass auf:
Ich habe ja 'i := 1' gehabt. Und 'i := 0' auch.

Beides hatte einen fehler. Ich musste allso i sohoch setzen, dass alle zeichen aus der 'code.txt' reinpassen. Also leicht gerechnet: 4*60 = 240 und dann einfach noch 10 rauf, weil evtl manche auch 5 stellig sind und manche 4stellig.

Naja nicht gut und unschön,
ich habe jedenfalls kurzerhand, deine devise versucht.
Anstatt zeile[1] habe ich einmal zeile[250] und einmal zeile[251] hingeschrieben.
Geht immernoch nicht.

PS: Wenn ich wüsste wo der fehler ist, hätt ich das Programm schon fertig, wollte das mit der code.txt eben ncoh dazuhaben. Ohne die lief es schon. Ich habe bei delphi mit null angefangen, ein Taschenrechner, danach ein Binär - Dezimalrechner, danach ein Notenrechner (15pkt gibt man ein er sagt: 1+; habe case verwendet). Einen normalen Editor, wo nur Drucken fehlt, Kopieren, Ausschneiden, einfügen, speichern, laden und beenden gabs schon.
Ein prog was die zahl -die man eingibt ab 10000 > 99999- rausfindet und die versuchsdurchläufe anzeigt. Ich weis nicht was ich noch machen sollte. Empfiel mir was.

Das ding ist: Ich habe den delphi-code so geschrieben wie ihr es empfohlen habt. Und es ist trotzdem nen fehler drin. Sowas kann nur mir passieren :wink:
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Di 19.09.06 09:13 
versuch das mal, habs nicht ausprobiert...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
  
begin  
    SetLength(zeile, 250); // setz es am anfang auf deine größe, wenn du's fest auf 250 haben willst!
    i := 0;  //fang bei null an zu zählen
    dir := 'C:\code.txt'
    AssignFile (f, dir); 
    Reset (f); 
    while not EOF(f)do 
        begin  
            ReadLn(f, zeile[i]); 
            inc(i); //erst einlesen, dann i hochzählen!!
        end;  
    memo1.lines.LoadFromFile(OpenDialog1.FileName); //zeige die Datei in Memo1 an.  
    memo1.Text :=  StringReplace (memo1.text, zeile[0], 'a', [rfReplaceAll]);
end;


//Edit vielleicht hast du dich schon an mehreren Sachen probiert, aber wie ich schon mal sagte, man kann nicht nur durch try-error-"frag im delphiforum" lernen...
ist halt so...
und wir haben dir jetzt schon oft genug den tip gegeben, anstatt dich wieder an nem projekt zu übernehmen, erstmal OHNE PROJEKT grundlagenwissen zu erlangen...
:motz: bald geb ichs auf...

_________________
Anonymes Eckenkind
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Di 19.09.06 09:27 
So ihr seid nun befreit.

Du hattest einen fehler xD. nicht zeile[0] sondern zeile[1].


DANKESCHÖN.


@Miri
Ich habe immernoch nicht verstanden was du mit
Miri hat folgendes geschrieben:
erstmal OHNE PROJEKT grundlagenwissen zu erlangen

meinst. Würde den ratschlag gerne befolgen aber verstehe das nich:
Wie soll ich ohne ziel ein programm schrieben,
ich denke nämlcih -was auch falsch sien kann, wenn es flasch ist bitte korrigieren- man lernt viel wenn man
1. Ein prog schreibt, und es dann, wenn man es fertig hat, ncoh ne stufe schwerer macht.
2. Eine gute Hilfe hat,
3. einige Tutorials.

Oder liege ich da falsch?
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Di 19.09.06 09:36 
user profile icon5M17H hat folgendes geschrieben:

@Miri
Ich habe immernoch nicht verstanden was du mit
Miri hat folgendes geschrieben:
erstmal OHNE PROJEKT grundlagenwissen zu erlangen

meinst. Würde den ratschlag gerne befolgen aber verstehe das nich:
Wie soll ich ohne ziel ein programm schrieben,
ich denke nämlcih -was auch falsch sien kann, wenn es flasch ist bitte korrigieren- man lernt viel wenn man
1. Ein prog schreibt, und es dann, wenn man es fertig hat, ncoh ne stufe schwerer macht.
2. Eine gute Hilfe hat,
3. einige Tutorials.

Oder liege ich da falsch?


Nein, falsch liegst du da nicht...
aber was allein in diesem Thread hier aufgefallen ist, ist dass du dich noch nie mit Datentypen beschäftigt hast (es wirkte zeitweilig so, als wäre dir nicht einmal der Unterschied zwischen String und Integer bekannt).
Was ich meine ist, dass du dich erst einmal mit den Möglichkeiten vertraut machen sollst. Und die lernst du eben, wenn du mal einfach nur Tutorials durcharbeitest, und nicht bei einem konkreten Problem ein konkretes Tutorial mit Lösung zu suchen.
Sicher lernt man auch beim Programmieren selbst, aber eben nicht das Basiswissen, was man schon mal haben sollte, BEVOR man anfängt...
Die gute Hilfe hast du hier mit Sicherheit, aber du solltest auch lernen, sie richtig zu (be)nutzen... zu vielen Problemen findest du hier fertige Lösungen, du solltest dich aber auch daran gewöhnen, wenn es keine fertige Lösung gibt, nach Ansätzen zu suchen, und selbst weiterzukommen... genau diese Einstellung vermisse ich bei dir ein wenig...
Wenn du ein Tut oder einen Thread oder ein Stück im Crashkurs oder was auch immer gefunden hast, und das nicht 100%ig zu deinem gewünschten Ergebnis führst, machst du dir scheinbar nicht die Mühe, selbst weiterzukommen, sondern fragst gleich nach...

Denk mal drüber nach...

_________________
Anonymes Eckenkind
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Di 19.09.06 10:11 
Datentypen die wir (bis jetzt) in der schule gelernt haben

ineger : Ganze zahlen
double : reele zahlen
string : zeichenkette (z.b. zum speichern von sätzen)
boolean : gibt true oder false zurück, kenne dafür keinen ausdruck.


Nur eben: In der Schule, bei 4h die Woche geht mir das zu langweilig.

Es tut mir leid das das so rübergekommen ist, als ob ich in den Tuts eine 100%ige lösung finde. So ist das nicht. Ich habe da nur nichts gefunden was mir geholfen hat.

Ich werde mich dran halten erst, bei einem problem, den ganzen abschnitt im Crashcours zu lesen. Werde dann bei jedem post den ich machen werde, noch dazu schreiben was ich da gelesen habe und warum mich das nciht weiterbringt xD.

Jetzt läuft das Programm, dank euerer Hilfe.

Ich bedanke mich gnaz Herzlich.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Di 19.09.06 14:52 
user profile iconJayEff hat folgendes geschrieben:
:oops: mein fehler. Aber das hättest du auch selbst rausgefunden, wenn du das Tut oder den Crashkurs zu Arrays gelesen hättest ;> Wie man das Problem behebt, findest du sicher selbst raus, wenn du dir TUFKAPLS Post nochmal genauer durchließt ^^

Um darauf nochmal zurück zu kommen. Das hast du nicht gelesen. Ganz sicher, da du TROTZDEM noch meinen Code unverändert übernommen hast. Ich zeig dir, was du an meinem Code hättest ändern müssen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
{...} 
    i:=0
    while not EOF(f)do //weil das dokument ncoh nciht zu ende ist tue  
    begin 
        inc(i); //inc steht für increase: bedeutet das gleiche wie i:=i+1 nur kürzer. 
        SetLength(zeile, i); //größe des Arrays anpassen 
        ReadLn(f, zeile[i-1]); //zeile auslesen und in 'zeile' speichern  
        memo1.lines.add(zeile[i]); //memo1.text soll JEDE zeile anzeigen. <Sicherheitscheck.  
    end;

Schon wäre dein Problem gelöst gewesen, was die Sache mit dem Array betrifft, aber gut.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: So 24.09.06 16:14 
So, nun hat es ja ne weile geklappt aber jetzt kommts:
seid neustem, also seid 2 tagen, geht es nicht mehr.

Ich sage:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
begin
  AssignFile(f,'C:\code.txt');
  Rewrite(f);
  for i := 1 to 68 do
  begin
    a := 10000 + Random(89999);
    Writeln(f,a);
  end;
end;


Und ich sage euch was:
Anstatt 68 zeilen macht er nur 55!
Und ausserdem sieht code.txt immer gleich aus. Warum?
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: So 24.09.06 17:07 
du hast den Zufallsgenerator aber mit randomize; initialisiert oder ?
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: So 24.09.06 18:10 
jetzt ja und jetzt gehts... danke