PureBoard
http://forums.purebasic.com/german/

Programmzeilen am Anfang entfernen ?
http://forums.purebasic.com/german/viewtopic.php?f=3&t=31644
Seite 1 von 2

Autor:  funkheld [ 03.09.2019 21:03 ]
Betreff des Beitrags:  Programmzeilen am Anfang entfernen ?

Hallo, guten Tag.

Wie kann man bitte Programmzeilenl entfernen von den Programmen?
Ich habe mehrere solcher Programme.

Code:
10 PROGRAM grafik;
   20 {$C-}
   30 {$L-}
   40 VAR mnloop, loop : integer;
   50     x, xa, y, ya : real;
   60     xx, yy, c    : real;
   70     a, b         : integer;
   80     ch           : char; 
   90
  100 PROCEDURE mode(no : integer);
  110 BEGIN
  120   ra:=chr(no);
  130   user(#bc0e);
  140 END;
  150
  160 PROCEDURE ink(ink, col1 : integer);
  170 BEGIN
  180   ra:=chr(ink);
  190   rb:=chr(col1);
  200   rc:=chr(col1);
  210   user(#bc32);
  220 END;
  230
  240 PROCEDURE border(col : integer);
  250 BEGIN
  260   rb:=chr(col);
  270   rc:=chr(col);
  280   user(#bc38);
  290 END;
  300
  310 PROCEDURE plot(x,y : integer);
  320 BEGIN
  330   rde:=x;
  340   rhl:=y;
  350   user(#bbea);
  360 END;
  370
  380 PROCEDURE grapen(col : integer);
  390 BEGIN
  400   ra:=chr(col);
  410   user(#bbde);
  420 END;
  430
  440 PROCEDURE move(x,y : integer);
  450 BEGIN
  460   rde:=x;
  470   rhl:=y;
  480   user(#bbc0);
  490 END;
  500
  510 PROCEDURE draw(x,y : integer);
  520 BEGIN
  530   rde:=x;
  540   rhl:=y;
  550   user(#bbf6);
  560 END;
  570
  580 FUNCTION rdkey : char;
  590 BEGIN
  600   user(#bb1b);
  610   rdkey:=ra;
  620 END;
  630
  640 BEGIN
  650   mode(0);
  660   border(0);
  670   ink(0,0);
  680   FOR loop:=1 TO 15 DO
  690     ink(loop,loop+11);
  700   grapen(1);
  710   c:=1;
  720   a:=160;
  730   b:=100;
  740   x:=1;
  750   y:=1;
  760   xx:=0;
  770   yy:=0;
  780   move(round(x),round(y));
  790   REPEAT
  800    xa:=x; ya:=y;
  810    IF x<a THEN xx:=xx+0.025
  820     ELSE IF x>a THEN xx:=xx-0.025;
  830    IF y<b THEN yy:=yy+0.025
  840     ELSE IF y>b THEN yy:=yy-0.025;
  850    x:=x+xx; y:=y+yy;
  860    grapen(round(c));
  870    plot(round(xa),1);
  880    draw(round(x),round(y));
  890    plot(640-round(xa),1);
  900    draw(640-round(x),round(y));
  910    plot(round(xa),400);
  920    draw(round(x),400-round(y));
  930    plot(640-round(xa),400);
  940    draw(640-round(x),400-round(y));
  950    c:=c+0.0625;
  960    IF c=15.5 THEN c:=1;
  970   ch:=rdkey;
  980   mnloop:=ord(ch);
  990   UNTIL mnloop=252;
 1000  ink(1,26);
 1010  mode(2);
 1020 END.


Danke.
Gruss

Autor:  Mijikai [ 03.09.2019 21:33 ]
Betreff des Beitrags:  Re: Progarmmzeilen am Anfang entfernen ?

So müsste es gehen :)

- jede Zeile einlesen
- trimmen -> Trim()
- dann Alles bis bis zum ersten Space abscheiden -> FindString()
- evtl. nochmal trimmen
- fertig

Autor:  #NULL [ 03.09.2019 23:19 ]
Betreff des Beitrags:  Re: Progarmmzeilen am Anfang entfernen ?

Nicht sehr performant, aber dafür knapp:
Code:
s.s = "  123 abc 123 deg;  "

s = LTrim(s)
While FindString("0123456789", Left(s, 1))
  s = Mid(s, 2, Len(s)-1)
Wend

Debug "|" + s + "|"


Autor:  Nino [ 03.09.2019 23:28 ]
Betreff des Beitrags:  Re: Progarmmzeilen am Anfang entfernen ?

funkheld hat geschrieben:
Wie kann man bitte Programmzeilenl entfernen von den Programmen?
Ich habe mehrere solcher Programme.

Wie viele Zeilen willst du denn jeweils vom Anfang der Programme entfernen?
Und warum? Sie werden danach wohl kaum erwartungsgemäß funktionieren.

Autor:  HeX0R [ 03.09.2019 23:36 ]
Betreff des Beitrags:  Re: Progarmmzeilen am Anfang entfernen ?

Nino hat geschrieben:
funkheld hat geschrieben:
Wie kann man bitte Programmzeilenl entfernen von den Programmen?
Ich habe mehrere solcher Programme.

Wie viele Zeilen willst du denn jeweils vom Anfang der Programme entfernen?
Und warum? Sie werden danach wohl kaum erwartungsgemäß funktionieren.


Ich bin ja froh, dass ich nicht der einzige bin, der bei der Fragestellung was völlig anderes verstanden hat (genau genommen war die Fragestellung auch tatsächlich völlig falsch).
Aber Mijikai und #Null haben offensichtlich ein Gespür dafür und die Antworten haben mich dann tatsächlich erleuchtet.

Es ging um:
"Wie entferne ich Zeilennummern am Anfang jeder Zeile"

Autor:  funkheld [ 03.09.2019 23:48 ]
Betreff des Beitrags:  Re: Progarmmzeilen am Anfang entfernen ?

Die Zeilennummer sollte weg. Habe es undeutlich geschrieben.

Das funktioniert wunderbar:
-------------------------
- jede Zeile einlesen
- trimmen -> Trim()
- dann Alles bis bis zum ersten Space abscheiden -> FindString()
-------------------------

Hier habe ich dann im File lmosiac.txt die Zeilen weg.
Code:
Global text0.s,text.s,text1.s,text2.s,z.l,laenge.l

ReadFile(0, "d:\javacpc\pebi-pas\mosiac.txt")
CreateFile(1,"d:\javacpc\pebi-pas\lmosiac.txt")

While Eof(0) = 0
  text0=ReadString(0)
  text=LTrim(text0)
  z=FindString(text, " ")
  laenge=Len(text)
  text1=Right(text,laenge-z)
  text2=LTrim(text1)
  WriteStringN(1,text2)
Wend

CloseFile(0)
CloseFile(1)


Danke.
Gruss

Autor:  Nino [ 03.09.2019 23:55 ]
Betreff des Beitrags:  Re: Progarmmzeilen am Anfang entfernen ?

HeX0R hat geschrieben:
Es ging um:
"Wie entferne ich Zeilennummern am Anfang jeder Zeile"
Ach so! Das ist "ein bisschen" etwas anderes als das, was im ersten Posting formuliert wurde. :lol:
In dem Fall würde ich ja vor dem Entfernen der Zeilennummern erstmal prüfen, ob die eine oder andere nicht noch gebraucht wird (weil sie z.B. von Goto als Sprungziel verwendet wird).

funkheld hat geschrieben:
Die Zeilennummer sollte weg. Habe es undeutlich geschrieben.
Du hast es nicht undeutlich geschrieben, du hast etwas völlig anderes geschrieben.

Autor:  #NULL [ 04.09.2019 09:16 ]
Betreff des Beitrags:  Re: Progarmmzeilen am Anfang entfernen ?

Ich habe es auch erst verstanden nachdem ich Mijikai's Antwort gelesen habe. :D

Autor:  funkheld [ 04.09.2019 22:03 ]
Betreff des Beitrags:  Re: Programmzeilen am Anfang entfernen ?

Es müssen alle Zeilennummern weg.

Danke.
Gruss

Autor:  DrShrek [ 05.09.2019 07:59 ]
Betreff des Beitrags:  Re: Programmzeilen am Anfang entfernen ?

Vielleicht noch den Titel in diesen Beitrag anpassen?
Würde bei einer Suche echt helfen ;-)

Seite 1 von 2 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/