* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Aprile 17, 2024, 10:20:34 am

Inserisci il nome utente, la password e la durata della sessione.

73 Visitatori, 0 Utenti

Autore Topic: [RISOLTO] Windows e console  (Letto 303 volte)

sanric

  • Newbie
  • *
  • Post: 20
  • Karma: +0/-0
    • RiccardoSantato.net
[RISOLTO] Windows e console
« il: Marzo 23, 2024, 09:44:55 am »
Salve a tutti,
per ragioni diverse mi sono visto costretto ad usare Lazarus su di una postazione Windows 7 per un programma che utilizza un'interfaccia utente.
Non sono riuscito a trovare il comando per la visione della console: io uso spesso il comando WriteLn (come da istruzioni del buon Brian Kernighan  8)) per cercare di debuggare il mio codice ma non so come far uscire la console sotto Windows.
Mi viene il dubbio che non ci sia proprio...
Sono costretto ad usare dei noiosissimi ShowMessage()?  :-\
Grazie mille per le risposte.
« Ultima modifica: Marzo 27, 2024, 08:16:27 am da sanric »

quack

  • Jr. Member
  • **
  • Post: 65
  • Karma: +7/-0
Re:Windows e console
« Risposta #1 il: Marzo 23, 2024, 10:58:10 am »
Per far comparire la consolle sotto Windows durante l'esecuzione del programma vai nella sezione configurazione e target delle opzioni progetto e togli la spunta su "Applicazione GUI WIN32".
E' tanto che non uso Windows, se non ricordo male non si può usare writeln a consolle chiusa, viene sollevata un'eccezione, ricordati di rimuoverli quando ripristinerai il flag,

Ciao
SO: Fedora\W10
Lazarus: Trunk\3.0
FPC: Trunk\3.2.2

bonmario

  • Hero Member
  • *****
  • Post: 1300
  • Karma: +10/-1
Re:Windows e console
« Risposta #2 il: Marzo 23, 2024, 07:34:41 pm »
Non faccio questa cosa da anni, e non so se funziona ancora !
In alternativa a quanto consigliato da quack, potresti usare "debugln" invece di "writeln", e lanciare il tuo programma da prompt di DOS. Mentre il programma gira, dovresti vedere nella finestra del DOS sottostante i tuoi messaggi.

Ciao, Mario

sanric

  • Newbie
  • *
  • Post: 20
  • Karma: +0/-0
    • RiccardoSantato.net
Re:Windows e console
« Risposta #3 il: Marzo 26, 2024, 06:49:08 pm »
Mi sa che il metodo migliore sia quello di far apparire una form con una memo e scriverci lì sopra... :-[

quack

  • Jr. Member
  • **
  • Post: 65
  • Karma: +7/-0
Re:Windows e console
« Risposta #4 il: Marzo 26, 2024, 07:57:01 pm »
Mi sa che il metodo migliore sia quello di far apparire una form con una memo e scriverci lì sopra... :-[
No, dai non mollare ! Ti complichi la vita per qualcosa che si risolve con poco.
Fammi capire, non hai trovato l'opzione "Applicazione GUI WIN32", l'opzione non funziona o non fa quello che desideri ?
In ogni caso lanciare l'applicazione dal promp dei comandi, come suggeriva bonmario, fa la stessa cosa e non può non funzionare.
SO: Fedora\W10
Lazarus: Trunk\3.0
FPC: Trunk\3.2.2

slapshot

  • Jr. Member
  • **
  • Post: 85
  • Karma: +1/-0
Re:Windows e console
« Risposta #5 il: Marzo 26, 2024, 08:38:23 pm »
Magari potresti anche provare la classe TEventLog:

https://lazarus-ccr.sourceforge.io/docs/fcl/eventlog/teventlog.html

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:Windows e console
« Risposta #6 il: Marzo 26, 2024, 10:12:38 pm »
Comoda.
Se metti che il tipo di log è su file, automaticamente trovi i log su file senza impazzire.
Altrimenti puoi usare le classiche variabili Output ed Input che sono implicite.
All'inizio del programma puoi mettere l'assegnazione di output su file, così tutti i tuoi write/writeln vengono convogliati su file. Al termine ricordati di fare una flush e chiudere il file. Non è garantito che abbia tutte le ultime scritture se non forzi la flush.




Stilgar.
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:Windows e console
« Risposta #7 il: Marzo 26, 2024, 11:08:53 pm »
Mi sa che il metodo migliore sia quello di far apparire una form con una memo e scriverci lì sopra... :-[
No, dai non mollare ! Ti complichi la vita per qualcosa che si risolve con poco.
Fammi capire, non hai trovato l'opzione "Applicazione GUI WIN32", l'opzione non funziona o non fa quello che desideri ?
In ogni caso lanciare l'applicazione dal promp dei comandi, come suggeriva bonmario, fa la stessa cosa e non può non funzionare.

Mi sa che il metodo migliore sia quello di far apparire una form con una memo e scriverci lì sopra... :-[

Funziona, ciò che ha indicato @Quack è quello più veloce e puoi usarlo senza includere o usare nulla (fermo restando utili comunque i consigli di @Stilgar, @slaphsot e @bonmario)

Se non è spuntata l'opzione viene aperta una finestra CMD con il programma. WriteLn opera li.
Vedi allegato.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

sanric

  • Newbie
  • *
  • Post: 20
  • Karma: +0/-0
    • RiccardoSantato.net
Re:Windows e console
« Risposta #8 il: Marzo 27, 2024, 08:16:08 am »
Grazie a tutti per i consigli gentilissimi.  :)
Metto un [RISOLTO] sul thread!

 

Recenti

How To

Utenti
  • Utenti in totale: 785
  • Latest: gmax
Stats
  • Post in totale: 18769
  • Topic in totale: 2232
  • Online Today: 82
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 73
Total: 73

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.