Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852

    [c++] Domanda su grafica...

    Come faccio a fare dei riquadri per i menu con i caratteri ascci?


    avevo visto una volta uno tipo

    =========================================
    !
    !
    !
    !
    !
    =========================================

    solo che usando questi come si può immaginare viene una schifezza...


    2) Ho scariacato Allegro solo che non riesco a compilare il file setup per ci sono degli errori eche non trova alcuni sorgenti...

    uso il borlandc 5.02

  2. #2
    bhe, puoi costruirti tu un'estensione delle cout per la stampa di questi riquadri. Una volta ne ho fatto uno simile
    +-------+
    | TESTO |
    +-------+
    Pero' poi mi sono fermato perche' non sono riuscito a fare una cosa molto importante: attaccare 2 finestre
    avrei dovuto fare cosi':
    +-----+----+
    | TES | TO |
    +-----+----+
    ma usciva
    +-----++----+
    | TES || TO |
    +-----++----+
    la cosa mi dava sui nervi e cosi' ho piantato li.
    Magari tu ci riesci...
    cmq, l'ho costruita con questo metodo (all'incirca):
    PER LE SCRITTE SU UNA RIGA
    1 calcolavo la lunghezza della stringa
    2 vedevo se poteva starci nella lunghezza del riquadro, se non ci stava, la tagliavo con un ~
    3 calcolavo il numero di spazi per ogni lato.
    4 disegnavo il nodo +
    5 con un for tiravo la linea ----
    6 chiudevo
    7 a capo, aprivo con |
    8 metto gli spazi, la stringa e richiudevo con |
    9 poi come dal 4 al 6

    PER QUELLE SU PIU' RIGHE
    tipo
    +------------------+
    | CIAO IO SONO ALE |
    | E PROGRAMMO IN C |
    +------------------+
    La stringa pazzata era del tipo:
    ciao io sono ale\ne programmo in c
    1 la somponevo in N substringhe
    2 applicavo i passaggi delle stringhe orizz, per ogni stringa, pero' senza che si interrompessero
    3 Chiudevo

    Tutto qui... ora nn ti sto a scrivere il codice, ma non e' difficile.

    Ciauz
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  3. #3
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    Così è come faccio già e che non voglio fare...


    non voglio fa comparire gli spazi tra trattini ---------

  4. #4
    ahhhh bhe, ma non mi sembra che cambi molto...
    se non ci vuoi mettere nulla, devi usare una funzione che ti fa saltare da un posto ad un altro. Se usassi linux, ti direi di usare i codici di escape, ma se nn mi sbaglio, DOS non li supporta. Non so le nuove console di Win2k e wineXtraPenoso.
    Mi ricordo che sul borland C++ 3, c'era gotoxy();, prova a dare unokkiata sulla guida del tuo compilatore.

    Ah gia, per allegro, ho provato anche io ad installarla, e anche a me dava problemi... ma nn sono mai riuscito a risolverli.

    Ciauz
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  5. #5
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    il gotoxy sposta il cursore dove vogliamo...


    ho pensato di usare la grafica ma non ne vale la pena....

  6. #6
    appunto, usa il gotoxy
    hai gia provato?
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  7. #7
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    certo.... ma non fa quello che voglio io non centra nulla


    gotoxy(5,5);
    cout << "la stringa è sulla 5 colonna e 5 rigra";

  8. #8
    si vabe... un po di inventiva!
    e' logico che intendo dire di utilizzare questa funzione per sostituire gli spazi:
    1 traccia +----------+
    2 calcola spazi
    3 gotoxy(x+spazi, y);
    4 cout << "TESTO";
    5 traccia +----------+

    Non mi sembra molto difficile capire che questa funzione deve essere utilizzata per sostituire gli spazi, no?
    se non vuoi usare gli spazi, allora come pensi di poterti spostare?
    Visto che su Win non sono disponibili i caratteri di escape, allora devi usare per forza una funzione simile a gotoxy

    spero di essermi fatto capire
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  9. #9
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    ma cosa spari scusa


    cout << "--";

    e

    gotoxy(5,5);
    cout << "-";
    gotoxy(6,5);
    cout << "-";



    non cambia nulla

    non c'è

    gotoxy(4.5,5);
    cout << "-";

    :master: :master:

  10. #10
    BBAAWWW
    ma dai!
    non mi sembra difficile
    cia, te lo scrivo in C++, che e' linguaggio universalre (a parte gotoxy che non e' standard...)
    codice:
    #include ...
    
    char *str = "Pippo";
     ...
    
    void disegna(int x, int y, const char *s)
    /* ammettiamo che la larghezza sia variabile, poi aggiusti tu se nn va bene */
    {
      int len = strlen(s);
      gotozy(x, y);
      cout << '+';
      for (int i = 0; i < len; i++)
        cout << '-';
      cout << '+';
      y++;
    /* facciamo aderire la stringa ai bordi, senza spazi*/
      gotoxy(x, y);
      cout << '|';
      cout << s;
      cout << '|';
      y++;
      cout << '+';
      for (int i = 0; i < len; i++)
        cout << '-';
      cout << '+';
    }
    adesso che c'e' la funzione ti e' un po + chiaro cosa intendo dire?
    ciauz
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.