AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Handle von Konsolen-App?

Ein Thema von charly52 · begonnen am 29. Aug 2022 · letzter Beitrag vom 8. Sep 2022
 
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.379 Beiträge
 
Delphi 12 Athens
 
#17

AW: Handle von Konsolen-App?

  Alt 5. Sep 2022, 10:09
Ja, Delphi-Consolen können nur ANSI, bzw. OEM. (was sich jeweils umschalten ließe)
Aber wenn man nicht die uralten Delphi-Funktionen verwendet, dann wäre auch alles Andere Möglich.

Delphi-Quellcode:
function _WriteWString(var t: TTextRec; const s: WideString; width: Longint): Pointer;
var
  i: Integer;
begin
  i := Length(s);
  _WriteSpaces(t, width - i);
  Result := _WriteLString(t, AnsiString(s), 0);
end;

procedure _ReadUString(var t: TTextRec; var s: UnicodeString);
var
  Temp: AnsiString;
begin
  // !!! FIXME
  _ReadLString(t, Temp, DefaultSystemCodePage);
  s := UnicodeString(Temp);
end;


Das sLineBreak hat per se in seiner Deklaration keinen Typen.
Es müsste sich demnach jeweils an den Zieltyp anpassen (der Compiler dürfte es bereits gecastet übergeben). Und selbst wenn nicht, dann würde es bei Verwendung einfach implizit gecastet.

Zitat:
Nur CR geht NICHT
Laut Code sollte es aber gehn.

Delphi-Quellcode:
procedure _ReadLn(var t: TTextRec);
{$IF not defined(CPU386)}
var
  c: Word;
begin
  while True do
  begin
    c := _ReadCharEx(t);
    if (c and $00ff) = cLF then break; // accept LF as end of line
    if (c and $ff00) shr 8 = cEOF then break;
>>> if (c and $00ff) = cCR then
    begin
      c := _ReadCharEx(t);
>>>>> if (c and $00ff) = cLF then break; // accept CR+LF as end of line
      if (c and $ff00) shr 8 = cEOF then break; // accept CR+EOF as end of line
      Dec(t.BufPos);
      // else CR+ anything else is not a line break.
    end;
  end;
end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz