Italia
Fonte/ Codesnippets

Console Echte - 2

 
- Page 1 -


Wenn die richtige Runtime (im Source angegeben und im Downloadcenter zum Download angeboten) genutzt wird so fungiert dieser Source als echte Console - denn die Ausgaben landen im XPSE-Fenster.
KompilierenMarkierenSeparieren
 {$runtime prfrun32.xp9.nores.console.exe}
 {$crq}
Declare text$,x&,y&,con&,conrect#
Dim conrect#,20
Def AllocConsole(0) !"KERNEL32","AllocConsole"
Def FreeConsole(0) !"KERNEL32","FreeConsole"
Def GetStdHandle(1) !"KERNEL32","GetStdHandle"
Def SetConsoleTitle(1) !"KERNEL32","SetConsoleTitleA"
Def SetConsoleTextAttribute(2) !"KERNEL32","SetConsoleTextAttribute"
Def WriteConsole(5) !"KERNEL32","WriteConsoleA"

Proc PrintCon

    Parameters context$
    context$=context$+Chr$(13)+chr$(10)
    WriteConsole(con&,addr(context$),len(context$),addr(x&),0)

EndProc

AllocConsole()
text$="Console Testfenster "
SetConsoleTitle(addr(text$))
con&=GetStdHandle(-11)

Whileloop 100

    PrintCon "Test "+Str$(Rnd(1000))

Wend

WaitInput
FreeConsole()
End
Salve, iF.
 
11.09.2005  
 



 
- Page 1 -



Frank
Abbing
Schau in der Win32.hlp nach oder bei MSDN. Hier mal die gängigen Console-API-Funktionen. Meist ist dem Namen gut zu entnehmen, welche Funktion sich dahinter verbirgt:

AllocConsole
CreateConsoleScreenBuffer
FillConsoleOutputAttribute
FillConsoleOutputCharacter
FlushConsoleInputBuffer
FreeConsole
GenerateConsoleCtrlEvent
GetConsoleCP
GetConsoleCursorInfo
GetConsoleMode
GetConsoleOutputCP
GetConsoleScreenBufferInfo
GetConsoleTitle
GetLargestConsoleWindowSize
GetNumberOfConsoleInputEvents
GetNumberOfConsoleMouseButtons
GetStdHandle
HandlerRoutine
PeekConsoleInput
ReadConsole
ReadConsoleInput
ReadConsoleOutput
ReadConsoleOutputAttribute
ReadConsoleOutputCharacter
ScrollConsoleScreenBuffer
SetConsoleActiveScreenBuffer
SetConsoleCP
SetConsoleCtrlHandler
SetConsoleCursorInfo
SetConsoleCursorPosition
SetConsoleMode
SetConsoleOutputCP
SetConsoleScreenBufferSize
SetConsoleTextAttribute
SetConsoleTitle
SetConsoleWindowInfo
SetStdHandle
WriteConsole
WriteConsoleInput
WriteConsoleOutput
WriteConsoleOutputAttribute
WriteConsoleOutputCharacter
 
14.08.2006  
 




Jac
de
Lad
Oh Gott, da bin ich ja noch bis Weihnachten beschäftigt. Ich schaus mir alles (!) an, aber ich dachte da hat vielleicht jemand was in petto oder so...

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.08.2006  
 




Jac
de
Lad
Öhhm, also ich hab jetzt mal im Platform SDk geschaut, da steht auch viel drin, aber obwohl ich der englischen Sprache mächtig bin, werde ich wahrscheinlich doch lieber ein traditionelles XProfan-Proggi schreiben (müssen), ich komme damit nicht klar (ca. 20000 Befehle in die Richtung Console...)

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.08.2006  
 




Jörg
Sellmeyer
Hallo Jac,
Hast Du Prfellow? Da gibts eine Vorlage mit Include per Konsolenfenster.

Saluto
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
15.08.2006  
 




Jac
de
Lad
Nee, ich nehme ProfanPAD...mal sehen...

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.08.2006  
 



 
- Page 2 -



Frank
Abbing

Ich schaus mir alles (!) an, aber ich dachte da hat vielleicht jemand was in petto oder so...


Ist wahrscheinlich nicht sonderlich gebräuchlich. Mal ehrlich, wer möchte schon eine 700 KB grosse Consolenanwendung...
 
15.08.2006  
 




Jac
de
Lad
Naja, habs auf 224kB komprimiert (ASPack) aber ich machs trotzdem traditionell mit Gridboxen, das geht auch. Hatte mich am XPSE orientiert und wollte meinen Präcompiler so ähnlich gestalten, aber is ne blöde Idee...

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.08.2006  
 



Ganz im Gegenteil ne blöde Idee! Nur als ConsolenApp können die Ausgaben auch Umgeleitet werden, das ist wichtig wenn man tolle IDEs nutzt welche das Feature unterstützen. Nicht umsonst sind derartige Anwendungen ConsolenApps.

Ich würds an Deiner Stelle unbedingt zumindest versuchen!
 
15.08.2006  
 




Jac
de
Lad
Naja, leider verstehe ich es nicht so ganz aus MSDN oder der Windows SDK alles rauszulesen und in Profan umzusetzen, da haperts. Deswegen dachte ich ja, dass vielleicht jemand was parat hat, aber da niemand was hat (und ich auch nicht will, dass jemand hier alles stehen und liegen lässt, nur damit ich meine Console kriege) denke ich es ist besser das in normalen Profan umzusetzen...

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
16.08.2006  
 



mit dem neuen XPSE ist das Ganze sogar noch viel einfacher und deutlich kürzer:

Beispiel per Ausgabe und Eingabe innerhalb einer Konsole:
KompilierenMarkierenSeparieren
 {$cleq}
Allocconsole()
Setconsoletitle("Meine Konsole")
cout "testWie lautet Dein Name? "
string s:=cin()
Freeconsole()
messagebox "Huhu" +s,,0
End

cout(string t){

    writeconsole(Getstdhandle(STD_OUTPUT_HANDLE),addr(t),len(t),0,0)

}

cin{

    mem mem=65535
    long c
    Readconsole(Getstdhandle(STD_INPUT_HANDLE),addr(mem),sizeof(mem)256,addr(c),0)
    string s:=char$(mem,0,c)
    dispose mem
    return s

r=#0000FF>}

 
11.06.2007  
 




jacdelad
Funktioniert soweit gut, aber wenn ich was in der Console markiere und dann einen Text ausgeben will hängt sich mein Programm auf. Wie kann ich das verhindern?
 
25.06.2019  
 




jacdelad
Ok, hab's selbst rausgefunden.
 
27.06.2019  
 




Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

21.988 Views

Untitledvor 0 min.
H.Brill18.02.2024
Sven Bader23.11.2023
Torsten Boo02.09.2021
p.specht18.07.2021
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie