danke erst mal das ich so weit gekommen bin.
und weiter gehts mit der fragerei ^^
Also bei ReadLn wird wohl die Open-Prozedur aufgerufen... nur was muss ich ändern/zurückgeben damit die "datei" als lesbar gilt ?
kleiner Einblick in den Code :
Delphi-Quellcode:
unit CCONSOLE;
interface
var TextColor, BackgroundColor: Cardinal;
implementation
uses ConsoleWnd;
var
ConsoleWin : TConsoleWnd;
killed: Boolean;
Function DevOpen(
var F: TTextRec): Integer;
begin
// und was geht hier ???
result :=0;
end;
Function DevInOut(
var F: TTextRec): Integer;
begin
case f.Mode
of
fmOutput:
begin
if not killed
then ConsoleWin.proto.AddLine(F.Buffer,BackgroundColor,TextColor);
end;
fmInput:
begin
end;
fmInOut:
begin
end;
end;
result :=0;
end;
Function DevFlush(
var F: TTextRec): Integer;
begin
case f.Mode
of
fmOutput:
begin
DevInOut(F);
FillChar(F.Buffer,F.BufPos-1,0);
F.BufPos := 0;
end;
fmInput:
begin
end;
fmInOut:
begin
end;
end;
result :=0;
end;
Function DevClose(
var F: TTextRec): Integer;
begin
result :=0;
end;
procedure AssignDev(
var F: Text);
begin
with TTextRec(F)
do
begin
Mode := fmClosed;
BufSize := SizeOf(Buffer);
BufPtr := @Buffer;
OpenFunc := @DevOpen;
InOutFunc := @DevInOut;
FlushFunc := @DevFlush;
CloseFunc := @DevClose;
Name[0] := #0;
end;
end;
initialization
ConsoleWin := TConsoleWnd.Create(0);
ConsoleWin.Caption := system.ParamStr(0)+ '
- NVConsole';
ConsoleWin.Show;
ConsoleWin.proto.AddLine('
NonVCL Console by hbw-technology 2005 ',$0,$00C000);
ConsoleWin.proto.AddLine('
',0,0);
AssignDev(Output);
finalization
killed:= true;
end.