| Autor |
Beitrag |
BlueMonk
      
Beiträge: 17
|
Verfasst: Di 22.10.02 20:55
HI!
also, ich habe bisher nur TurboPascal erfahrung, daher programmiere ich in delphi 6 vorerst nur mit der kosnolen anwendungen. da ich nun aber mit entsetzten feststellen musste, dass es den clrscr und clrln befehl in delphi 6 überhaupt nicht mehr, oder zumindest so nicht mehr gibt, wollte ich mal fragen, ob es nicht doch irgendwie möglich ist diesen befehl weiter zu benutzen.
Mfg,
BM
_________________ Es irrt der Mensch solange er lebt.
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Di 22.10.02 21:07
Hallo,
schau mal bei Torry in der CRT Sektion vorbei. Dort gibt es einige Units die entsprechenden Methoden implementieren.
Gruß
TINO
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: Mi 23.10.02 13:37
so, ich hab nun ALLE ausprobiert. die meisten gingen gar nicht. bei einer ging es wunderbar, jedoch wurde immer eine dumme webung beim starten eingeblendet, die ich nicht will. und bei einer anderen, die ich jetzt benutze, wird das dosfenster geöffnet, und zusätlich noch ein weißes fenster, das aussieht, wie das notepad und dort wird dann das ganze programm ausgeführt.
gibts ne möglichkeit, dass sich diese neue fenster NICHT öffnet, oder gibts noch andere möglichkeiten den clrscr und clrln befehl zu benutzen??
_________________ Es irrt der Mensch solange er lebt.
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Mi 23.10.02 13:46
Hallo,
ich hab mir die erste "Komponente" downgeloadet: CRT Unit v.0.1!
Im Zip-File ist ein Beipsiel Programm enthalten. Als ich dieses starten wollte bekamm ich mehrere Fehler. Versuch mal folgendes:
Die Fehler kommen immer im folgenden Code-Abschnitt:
Quelltext 1:
| InputRec{$IfDef VER120}.Event{$EndIf}.KeyEvent.bKeyDown |
mach daraus folgdendes:
Quelltext 1:
| InputRec.Event.KeyEvent.bKeyDown |
Hat bei mir (D5) funktioniert!
Gruß
TINO
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: Mi 23.10.02 16:15
hab ich gemacht, nun hab ich hier nen fehler.
Quelltext 1:
| InputRec{$IfDef VER120}.Event{$EndIf}.MouseEvent |
also ich hab delphi 6. hier ist das 'programm' mit dem ich immer teste, ob der befehl geht:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| program test;
{$APPTYPE CONSOLE}
begin Writeln ('hallo'); Writeln ('hallo'); Readln; ClrScr; Writeln ('Fertig'); Readln; ClrScr; Writeln ('hallo'); Writeln ('hallo'); ClrLn; Readln; end. |
also, wenn ihr wisst, wie ich dieses programm zum laufen bekomme, dann sagt mir doch mal bescheid, weil da sind genau die beiden befehle drinne, die mir im moment schwirigkeiten bereiten. natürlich gehört noch ein uses ....... dazu, weiß aber net genau, welche ich nehmen soll, da ich bis jetzt noch keine gefunden habe die klappt.
_________________ Es irrt der Mensch solange er lebt.
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: Fr 25.10.02 14:53
keiner mehr ne idee?? *verzweifel*
_________________ Es irrt der Mensch solange er lebt.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 25.10.02 14:59
Versuch mal die Unit von Assarbad: ConTools.pas
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: Fr 25.10.02 17:00
also, ich habe mein programm und die ConTools.pas in das gleiche verzeichnis geschoben.
mein programmsieht nun so aus:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| program geil;
{$APPTYPE CONSOLE}
Uses ConTools;
begin Writeln ('hallo'); Writeln ('hallo'); Readln; ClrScr; Writeln ('Fertig'); Readln; end. |
jedoch kommt wieder massic compilerfehler meldungen in der pas datei.
die erste ist: 'UNIT' erwartet, aber 'VAR' gefunden. geht das nun schon wieder nicht, oder mache ich was falsch??
_________________ Es irrt der Mensch solange er lebt.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 25.10.02 19:06
Nicht unter Uses schreiben. Nach deinem Uses die Datei mit {$INCLUDE ConTools.pas} einbinden.
Ich glaube, zu mindest Windows wird gebraucht.
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: Sa 26.10.02 07:37
ahsooooo.....
naja, mein prog sieht nun so aus:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| program geil;
{$APPTYPE CONSOLE}
Uses {$INCLUDE ConTools.pas} begin Writeln ('hallo'); Writeln ('hallo'); Readln; ClrScr; Writeln ('Fertig'); Readln; end. |
geht aber immer noch net, komm nun die fehlermeldung (in der pas datei): bezeichner erwartet aber 'var' gefunden. woran liegt das?
_________________ Es irrt der Mensch solange er lebt.
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Sa 26.10.02 08:55
Versuch es mal so:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| program geil;
{$APPTYPE CONSOLE}
{$INCLUDE ConTools.pas}
begin Writeln ('hallo'); Writeln ('hallo'); Readln; ClrScr; Writeln ('Fertig'); Readln; end. |
Zur Info: {$INCLUDE ... } ist eine Compileranweisung genauso wie {$APPTYPE ... }. Schau mal in der Hilfe unter den beiden Compileranweisungen nach. Dann dürfte Dir klar sein was, besonders INCLUDE, macht!
Gruß
TINO
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: Sa 26.10.02 12:59
so, hab das nu so gemacht, wie du es gesagt hast, nu sagt er mir aber an der stelle:
Quelltext 1:
| csbi: _CONSOLE_SCREEN_BUFFER_INFO; |
folgendes: Undefinierter Bezeichner: '_CONSOLE_SCREEN_BUFFER_INFO'
woran liegt denn das nun schon wieder?
_________________ Es irrt der Mensch solange er lebt.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 26.10.02 13:18
windows.pas wird noch gebraucht.
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: Sa 26.10.02 13:50
also, ich hab nun die windwos.pas in den gelcihen ordner kopiert in dem auch das programm und die contools.pas ist.
wenn ich das programm nun so schreibe:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| program geil;
{$APPTYPE CONSOLE} {$INCLUDE Windows.pas} {$INCLUDE ConTools.pas}
begin Writeln ('hallo'); Writeln ('hallo'); Readln; ClrScr; Writeln ('Fertig'); Readln; end. |
kommt in der windows.pas datei and der stelle:
Quelltext
folgende meldung: deklaration erwartet, aber 'unit' gefunden.
wenn ich die windows.pas mit der contools.pas vertausche, also so:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| program geil;
{$APPTYPE CONSOLE} {$INCLUDE ConTools.pas} {$INCLUDE Windows.pas}
begin Writeln ('hallo'); Writeln ('hallo'); Readln; ClrScr; Writeln ('Fertig'); Readln; end. |
dann kommt wieder in der contools.pas an der stelle:
Quelltext 1:
| csbi: _CONSOLE_SCREEN_BUFFER_INFO; |
diese meldung:Undefinierter Bezeichner: '_CONSOLE_SCREEN_BUFFER_INFO'
was hab ich denn nun schon wieder falsch gemacht??
_________________ Es irrt der Mensch solange er lebt.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 26.10.02 13:53
So geht's. Windows.pas muß natürlich normal über uses eingebunden werden.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| program geil;
{$APPTYPE CONSOLE}
uses windows;
{$INCLUDE ConTools.pas}
begin Writeln ('hallo'); Writeln ('hallo'); Readln; ClrScr; Writeln ('Fertig'); Readln; end. |
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: Sa 26.10.02 15:46
ok, danke nun funktioniert der ClrScr befehl, vielen dank.
was aber immer noch nicht funktioniert ist der ClrLn befehl, gibt es auch noch eine möglichkeit siesen befehl in delphi wiederzubekommen.
_________________ Es irrt der Mensch solange er lebt.
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: So 27.10.02 19:03
naja, scheinbar nicht. werd mich wohl damit abfinden müssen.
_________________ Es irrt der Mensch solange er lebt.
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 30.10.02 13:17
Hi,
mal langsam, vielleicht geschehen noch Wunder.
hieß der Befehl nicht ClrEol oder ClrEoln ?
Gruß
Hansa
|
|
BlueMonk 
      
Beiträge: 17
|
Verfasst: Do 31.10.02 17:30
ok, thx also der clreoln befehl ist ein undefinierter bezeichner. aber der ClrEoL befehl den kann ich reinschreiben ohne dat er rummuckt. allerdings bekomm ich dat nit richtig angewand.
z.b. bei dem quelltext:
Quelltext 1: 2: 3: 4: 5: 6:
| begin; Writeln ('1'); Writeln ('2'); ClrEoL; Readln; end; |
dann sollte doch eigentlich auf dem monitor stehen:
1
es steht aber da:
1
2
warum?? was mache ich falsch?? wie mache ich, dass er die letze zwile löscht? muss ich dem das noch irgendwie angenen welche zeile er löschen soll?
_________________ Es irrt der Mensch solange er lebt.
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Do 31.10.02 18:27
Hi BlueMonk,
immer ganz ruhig bleiben.  Das geht schon noch. ClrEol löscht ab Cursor-Position bis zum Ende der Zeile. Da Du den Cursor bereits in der DRITTEN Zeile stehen hast, löscht er natürlich NICHT die zweite. Also so geht es :
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| begin; Writeln ('1'); Writeln ('2');
GOTOXY (1,WHEREY - 1); !!!!!!!!!!!!!!!!!!!!!!!!!!!
ClrEoL; Readln; end; |
Gruß
Hansa
Geht das da überhaupt mit Delphi ?  Habe das readln zu spät gesehen. Dadurch stehst Du ja noch eine Zeile tiefer, also in der 4. Zeile. Willst Du die 2. Zeile löschen, dann mußt Du natürlich mit gotoxy (1,wherey-2) den Cursor vor die 2 bugsieren.
WhereX und WhereY geben die Cursorpos. an. So, jetzt reichts aber, das steht ca. auf Seite 10 eines Turbo-Pascal Buches.
Gruß
Hansa
|
|