IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Free Pascal Discussion :

Conflit d'unités ?


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Sans
    Inscrit en
    Mai 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mai 2017
    Messages : 62
    Par défaut Conflit d'unités ?
    Bonjour,

    suite à ce billet https://www.developpez.net/forums/d1...ne-sous-linux/, si je rajoute l'unité CRT mon affichage est complètement décalé...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Classes, SysUtils, Process,crt;
    résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Nom    Préno  Date Nais                               
                                                          -----  -----  ----------------------------------------
                                PARK   Marga  1947-09-19                              
      EDWAR  Nancy  1958-12-08                              
                                                            ADAMS  Andre  1962-02-18                              
                                  JOHNS  Steve  1965-03-03                              
        CALLA  Laura  1968-01-09                              
                                                              KING   Rober  1970-05-29                              
                                    MITCH  Micha  1973-07-01                              
          PEACO  Jane   1973-08-29
    comment résoudre ce problème svp ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 127
    Par défaut
    Salut,

    De ce que tu dis, on dirait que l'ajout de l'unité CRT te met l'affichage en vrac, sous-entendu sans cet ajout l'affichage serait bon, alors pourquoi la rajouter ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Sans
    Inscrit en
    Mai 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mai 2017
    Messages : 62
    Par défaut
    Bonjour et mes excuses pour la non-clarté de mes explications... (merci pour les remarques)

    Oui, si je rajoute Crt, ça met l'affichage en "vrac" sinon ç'est correct

    Pourquoi est-ce que j'utilise Crt ? simplement car c'est un programme console que je voudrais faire utiliser des instructions comme "clrscr" ou "gotoxy"

    Voici le code complet pour éclaircir mes propos.

    Bien cordialement


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    program testbdd;
    //uses Classes, SysUtils, Process ;
    uses Classes, SysUtils, Process , crt;
    var   AProcess: TProcess;
    var codsql:string;
     
    begin
    	writeln('Affichage du contenu d''une table');
    	sleep (3000);
    	clrscr;
    	codsql:='SELECT UPPER(Lastname) AS ''Nom'' , FirstName AS ''Prénom'' , SUBSTR(BirthDate,1,10) AS ''Date Nais'' FROM employees';
    	codsql:=codsql+' ORDER BY BirthDate';
     
    	AProcess := TProcess.Create(nil);
    	AProcess.Executable := 'sqlite3' ;
    	AProcess.Parameters.Add('chinook.db');
    	AProcess.Parameters.Add('.headers on');
    	AProcess.Parameters.Add('.mode column');
    	AProcess.Parameters.Add('.width 5 5 40');
    	AProcess.Parameters.Add(codsql);
    	AProcess.Options := AProcess.Options + [poWaitOnExit];
    	AProcess.Execute;
    	AProcess.Free;   
     
    	writeln('ça ne marche pas bien avec crt...');
    	readln;
    end.

    Nb pour info je suis sous Lubuntu et le terminal est Lxterminal

  4. #4
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 127
    Par défaut
    Citation Envoyé par ptitjoz Voir le message
    Oui, si je rajoute Crt, ça met l'affichage en "vrac" sinon c'est correct
    C'est correct ?


    Citation Envoyé par ptitjoz Voir le message
    Pourquoi est-ce que j'utilise Crt ? simplement car c'est un programme console que je voudrais faire utiliser des instructions comme "clrscr" ou "gotoxy"

    Nb pour info je suis sous Lubuntu et le terminal est Lxterminal
    C'est quoi pour toi la différence entre un programme console et une sortie de programme dans Lxterminal ? Un truc m'échappe, là.

    En plus, je ne connais pas du tout FreePascal quand il travaille en stand-alone : pour moi c'est une sous-couche invisible de Lazarus.
    Je ne vais pas pouvoir aider beaucoup...

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 166
    Billets dans le blog
    9
    Par défaut
    Bonjour ! Le programme appelle une autre application qui va afficher du texte : cette configuration n'est pas compatible, je pense, avec l'usage de l'unité Crt. Si vous voulez utiliser l'unité Crt, pour faire une "jolie" application console, vous devez récupérer en mémoire la sortie de 'application appelée, en extraire ce qui vous intéresse et le faire afficher par votre programme. Bref, un vrai casse-tête.

  6. #6
    Membre confirmé
    Homme Profil pro
    Sans
    Inscrit en
    Mai 2017
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mai 2017
    Messages : 62
    Par défaut
    Citation Envoyé par Jipété Voir le message
    C'est correct ?


    C'est quoi pour toi la différence entre un programme console et une sortie de programme dans Lxterminal ? Un truc m'échappe, là.

    En plus, je ne connais pas du tout FreePascal quand il travaille en stand-alone : pour moi c'est une sous-couche invisible de Lazarus.
    Je ne vais pas pouvoir aider beaucoup...

    Bonjour
    c'est "correct" là : https://www.developpez.net/forums/d1.../#post10185550


    Lxterminal est le nom du terminal par défaut de Lubuntu . ce n'était qu'une information.

    Merci pour ton aide.

    Cordialement.

    Citation Envoyé par Roland Chastain Voir le message
    Bonjour ! Le programme appelle une autre application qui va afficher du texte : cette configuration n'est pas compatible, je pense, avec l'usage de l'unité Crt. Si vous voulez utiliser l'unité Crt, pour faire une "jolie" application console, vous devez récupérer en mémoire la sortie de 'application appelée, en extraire ce qui vous intéresse et le faire afficher par votre programme. Bref, un vrai casse-tête.
    Bonjour,

    Merci de ta réponse. Oui je crois que je vais abandonner cette piste...
    Merci de t'être intéressé à mon problème

    Bien à toi

  7. #7
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Oups je me suis trompé de sujet bref

    Salut un petit tour par les options de ton projet devrais te permettre de résoudre ton problème.

    Essayes de suivre les instructions d'écrites ici : http://wiki.freepascal.org/Console_M...g_with_Lazarus

    Sinon poste également ta question sur le forum Anglais, Thaddy ou autres seront plus à même de te répondre sur ce type de problème.

    J'ai trouvé quelques sujets mais rien de bien concluant :

    http://forum.lazarus.freepascal.org/...html#msg268032
    http://forum.lazarus.freepascal.org/...html#msg273873
    http://forum.lazarus.freepascal.org/....html#msg51569

    a+

    EDIT: Peut-être en utilisant'unité WinCRT à la place : https://www.developpez.net/forums/d8...oi-exactement/ mais pas sûr qu'il y ai toutes les fonctions de CRT


    --------------------------

    Pour le coup j'ai testé chez moi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Program project1;
     
    {$mode objfpc}{$H+}
    {$apptype console}
     
    Uses
      {$IFDEF UNIX}{$IFDEF UseCThreads}
      Cthreads,
      {$ENDIF}{$ENDIF}
      Classes, sysUtils, Process, crt
     
     
      { you can add units after this };
     
    var
      login : string;
      AProcess: TProcess;
      codsql:string;
     
    Begin
      clrscr;
     textbackground(red);
      textcolor(white);
      writeln('Enter You''re name :');
      textbackground(black);
      textcolor(white);
      gotoxy(20,1);
      readln(login);
      textbackground(blue);
      textcolor(yellow);
      writeln;
      writeln('Welcome ' + Login);
      Writeln;
      textbackground(Green);
      textcolor(LightCyan);
      textbackground(Black);
      textcolor(White);
      Writeln('Tapez "entrée" pour continuer....');
      ReadLn;
      writeln('Affichage du contenu d''une table');
      	sleep (2000);
      //	clrscr;
      	codsql:='SELECT UPPER(Lastname) AS ''Nom'' , FirstName AS ''Prénom'' , SUBSTR(BirthDate,1,10) AS ''Date Nais'' FROM employees';
      	codsql:=codsql+' ORDER BY BirthDate';
     
      	AProcess := TProcess.Create(nil);
      	AProcess.Executable := 'sqlite3' ;
      	AProcess.Parameters.Add('chinook.db');
      	AProcess.Parameters.Add('.headers on');
      	AProcess.Parameters.Add('.mode column');
      	AProcess.Parameters.Add('.width 5 5 40');
      	AProcess.Parameters.Add(codsql);
      	AProcess.Options := AProcess.Options + [poWaitOnExit];
      	AProcess.Execute;
      	AProcess.Free;
        Writeln;
      	writeln('ça ne marche pas bien avec crt...');
      	readln;  
    End.
    Résultat ça l'air de fonctionner sauf pour l'utf8 :

    Nom : 2018-05-05_224844.jpg
Affichages : 679
Taille : 44,1 Ko
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

Discussions similaires

  1. conflit oracle sql server ?
    Par skaii dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 10/02/2005, 18h28
  2. conflit entre couleurs
    Par khayyam90 dans le forum OpenGL
    Réponses: 2
    Dernier message: 03/07/2004, 18h00
  3. Générer règles de conflits pour réplication
    Par dupin40 dans le forum Administration
    Réponses: 3
    Dernier message: 01/09/2003, 15h31
  4. [horloge] conflit caractère / timer
    Par JeanJean dans le forum C
    Réponses: 10
    Dernier message: 09/05/2003, 23h47
  5. [Technique] Conflits entre plusieurs requêtes
    Par Neowile dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 24/03/2003, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo