Autor Beitrag
Avalon
Hält's aus hier
Beiträge: 8

Win 98, Win ME, Win XP
D7 Pers
BeitragVerfasst: So 21.09.03 17:41 
Hi erstmal !
Ich habe folgendes Newbie-Problem.
ausblenden volle Höhe 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:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
procedure TForm1.Button1Click(Sender: TObject);
 var zeichen:char;
     code: string;
     i,j, Breite, Hoehe :integer;
begin
  assignfile(bilddatei,'smiley.pbm');
  reset(Bilddatei);
  code:='';
  // Code für Format einlesen
  // Wird hier nicht überprüft
  for i:=1 to 2 do
  begin
    read(bilddatei,zeichen);
    code:=code+zeichen;
  end;

  //Rest der zeile verwerfen
   while Zeichen<> chr(13do begin read(bilddatei, Zeichen) end;
  // lf verwerfen
  read(bilddatei, zeichen);

  //erstes Zeichen der zweiten Zeile lesen
  read(bilddatei, zeichen);

  //Kommentarzeilen verwerfen
  while Zeichen ='#' do
  begin

    while Zeichen<>chr(13do begin i:=i+1; read(bilddatei,zeichen);end;
    read(bilddatei,zeichen);


  end;

  // Bildabmessungen einlesen
  code:='';

  read(bilddatei,zeichen);
 while not (zeichen=' 'do
  begin
    code:=code+zeichen;
    read(bilddatei,zeichen);
  end;
  breite:=strtoint(code);
  code:='';

  read(Bilddatei,zeichen);
  while ((ord(zeichen)>47and (ord(zeichen)<58)) do
  begin
    code:=code+Zeichen;
    read(Bilddatei, zeichen);
  end;
  hoehe:=strtoint(code);
  While zeichen <> chr(13do read(bilddatei, zeichen);
  read(bilddatei,zeichen);

  //Bilddatenlesen und auf das Formular zeichnen

   for i:= 1 to hoehe  do
   begin
     for j:=1 to breite do
       begin
         read(bilddatei,zeichen);

         if Zeichen = '1' then form1.Canvas.Pixels[j,i] := clblack {Punkt schwarz färben}
          else form1.Canvas.Pixels[j,i]:=clwhite {Punkt weiß färben};
         read(bilddatei,zeichen){Leerzeichen verwerfen};
       end;
       //restliche Zeile verwerfen, bis Zeilenvorschub einfach nur lesen
       While not (zeichen = chr(10)) do read(bilddatei, zeichen);
    end;


Der ganze Spaß ist Teil eines Bildbetrachters für pbm-dateien mit dem namen smiley.pbm. Und irgendwie suche ich verzweifelt den befehl, um die Form zu resetten, wenn ich nen zweiten button zum löschen einbaueun will. Ich will einfach, dass es dann wieder so aussieht wie bei Programmstart
Ich hab so das Gefühl, dass es dabei um ein Wort geht, aber das finde ich beim besten willen nicht !
Kann mir (bitte, bitte) wer helfen.
thx im vorraus, Avalon

_________________
All computers wait the same speed ;-)


Zuletzt bearbeitet von Avalon am Mo 22.09.03 15:23, insgesamt 1-mal bearbeitet
bIce
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 55



BeitragVerfasst: So 21.09.03 18:51 
Bevor ich deinen Quelltext auseinandernehme ;) - hast Du schon versucht einfach beim Reseten das Bild von der Platte neuzuladen?
PS: Verwende für Dateizugriffe TFileStream, ist besser und übersichtlicher
Avalon Threadstarter
Hält's aus hier
Beiträge: 8

Win 98, Win ME, Win XP
D7 Pers
BeitragVerfasst: So 21.09.03 20:12 
Das hab ich noch nicht probiert !
Muss ich mal probieren.
TFileStream kannte ich nicht mal... muss ich mich unbedingt mal mit beschäftigen ! :P
thx ! Avalon

_________________
All computers wait the same speed ;-)
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 22.09.03 07:58 
Hallo,
bitte ändere den Betreff Deines Threads um, sodass er etwas mehr aussagt. Mit dem derzeitigen Titel kann niemand was anfangen. Einfach bei Deinem ersten Beitrag auf Edit klicken und den Titel ändern.
Hier der entsprechende Auszug aus den Richtlinien:
Richtlinien hat folgendes geschrieben:
1.1 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. Eine Pseudocodezeile oder die Nennung des Objektes, um welches es sich in dem Beitrag handelt, helfen da schon mehr weiter. Wenn Du beispielsweise wissen möchtest, wie es möglich ist, eine Integer-Variable in das String-Format zu konvertieren, würde ein Beitrag wie etwa "Integer zu String" oder "Integerkonvertierung" anderen Forenmitgliedern einen kurzen Überblick über die eigentliche Fragestellung verschaffen. So ist es möglich gezielter Lösungen für Probleme zu finden. Zudem solltest du immer daran denken: Der Fragesteller möchte etwas von den anderen Usern - nicht umgekehrt.


Danke