Aiuto su creazione password e salvataggio sul pc

di il
21 risposte

21 Risposte - Pagina 2

  • Re: Aiuto su creazione password e salvataggio sul pc

    Powa92 ha scritto:


    +m2+ ha scritto:


    La prima te la sconsiglio.
    è spazzatura microsoft priva di una logica se non complicare inutilmente la vita

    Per la seconda no
    grazie mille. e cosi odioso programmare su windows?
    Anzi.
    Solo basta lasciar perdere le cretinate fatte per anni da microsoft
    Tipo questa (privilegi speciali sulle cartelle).
    Sono innumerevoli (es registro) e si trascinano per inerzia
    È più di 20 anni che non ci sono innovazioni tecnologiche in Windows, dai tempi di vista a 64 bit
  • Re: Aiuto su creazione password e salvataggio sul pc

    +m2+ ha scritto:


    Anzi.
    Solo basta lasciar perdere le cretinate fatte per anni da microsoft
    Tipo questa (privilegi speciali sulle cartelle).
    Sono innumerevoli (es registro) e si trascinano per inerzia
    È più di 20 anni che non ci sono innovazioni tecnologiche in Windows, dai tempi di vista a 64 bit
    Ok è vero che può essere scomodo, in certi casi, non poter scrivere nella cartella di installazione. Però non mi sembra così terribile doverlo fare almeno per i file di dati.
    Inoltre quando Microsoft permetteva di fare tutto con privilegi elevati, tutti a dire che Windows era poco sicuro, che i programmi lasciavano spazzatura, che si corrompeva il registro. Anche i sistemi *nix hanno le apposite directory per questo scopo.
  • Re: Aiuto su creazione password e salvataggio sul pc

    +m2+ ha scritto:


    Powa92 ha scritto:


    +m2+ ha scritto:


    La prima te la sconsiglio.
    è spazzatura microsoft priva di una logica se non complicare inutilmente la vita

    Per la seconda no
    grazie mille. e cosi odioso programmare su windows?
    Anzi.
    Solo basta lasciar perdere le cretinate fatte per anni da microsoft
    Tipo questa (privilegi speciali sulle cartelle).
    Sono innumerevoli (es registro) e si trascinano per inerzia
    È più di 20 anni che non ci sono innovazioni tecnologiche in Windows, dai tempi di vista a 64 bit
    questo è vero sta diventando un po come l'apple. su questo senso.
  • Re: Aiuto su creazione password e salvataggio sul pc

    Alexv ha scritto:


    Ok è vero che può essere scomodo, in certi casi, non poter scrivere nella cartella di installazione. Però non mi sembra così terribile doverlo fare almeno per i file di dati.
    Come ho già scritto basta non scrivere i programmi dentro la cartella programmi e ci si risparmiano tante complicazioni inutili
    Inoltre quando Microsoft permetteva di fare tutto con privilegi elevati, tutti a dire che Windows era poco sicuro, che i programmi lasciavano spazzatura, che si corrompeva il registro. Anche i sistemi *nix hanno le apposite directory per questo scopo.
    non è proprio così.
    Senza partir per le solite crociate vale il punto precedenti.
    Creare una cartella c:\pippo e scriverci dentro tutto quello che serve, compresi i file di dati e configurazione
  • Re: Aiuto su creazione password e salvataggio sul pc

    Alexv ha scritto:


    Powa92 ha scritto:


    se voglio invece salvare i file su appdata e renderlo portabile ? ognuno ha un nome utente diverso c:\users\(nome utente)\appdata\local\myapp.
    come posso rendere quel nome utente una variabile?. perchè ho intenzione di salvare anche una lista in quella cartella che voglio trasferire su appdata. poi un ultima domanda so che sono rompi, è possibile rendere i file creato in questo caso per la pass un elemento nascoto?
    Stai usando Qt, giusto? Come tu ho detto usa la classe QStandardPaths per ottenere i percorsi standard di sistema.

    Prima aggiungi nel main:
    
    #include <QCoreApplication>
    //...
    int main(){
    	QApplication a(argc, argv);
    	QCoreApplication::setOrganizationName("Powa92"); //Facoltativo
    	QCoreApplication::setApplicationName("myapp");
    	//...
    	return a.exec();
    }
    
    Per dare un nome alla tua applicazione.

    Per ottenere il percorso di Appdata (o equivalente su altro sistema operativo, dai un'occhiata alle tabelle riportate nel link di sopra):
    
    #include <QString>
    #include <QStandardPaths>
    
    QString path = QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation);
    
    Per ottenere un percorso del tipo: "C:/Users/<USER>/AppData/Local/Powa92/myapp"
    allora io sono riuscito a creare il file come volevo io. solo una cosa se funziona come c++ nel QcoreApplication::setApplicationName vale solo in quella istanza tra le parentesi graffe giusto ? non mi cambia nome principale del programma.. comunque ci so riuscito compilo qui il codice almeno mi dite che se c'è qualche errore o si puo migliorare


      QDir ConfigFile;
      ConfigFile.mkdir(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation));
      ConfigFile.mkdir(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation)+"/Config");
      QFile myfile;
      QDir::setCurrent(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation)+"/Config");
      myfile.setFileName("config.cpp");
      if(!myfile.open( QFile::WriteOnly | QFile::Text))
        QMessageBox::warning ( this, "File", "File impossibile aprire") ;
    
      QTextStream out (&myfile);
      QString username2;
           username2 = ui->SaveEdit_UserName_2->text();
      QString password2;
           password2 = ui->SaveEdit_Password_2->text();
      out << username2 <<"\n"
          << password2 <<"\n";
      myfile.flush();
      myfile.close();
    
      hide();
    Questo è l'input per la creazione pass
    void MainWindow::on_pushButton_clicked() //Logig Password
    {
    
      QFile myfile (QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation)+"/Config/config.cpp");
    
      if(!myfile.open( QFile::ReadOnly | QFile::Text))
        QMessageBox::warning ( this, "File", "File impossibile aprire") ;
    
      QTextStream in (&myfile);
    
      QString username2;                      //Login Password da i file data
           username2 = in.readLine();
    
      QString password2;
           password2 = in.readLine();         //Login Password da i file data
      myfile.close();
    
        QString UserName = ui->lineEdit_UserName->text();
        QString Password = ui->lineEdit_Password->text();
    
    
        if (UserName == username2 || Password == password2 )
          {
            hide();
            Menu = new MyMenu();
            Menu->show();
          }
        else
          QMessageBox::warning (this, "Login", "Dati non corretti" );
    }
    
    void MainWindow::on_pushButton_2_clicked()
    {
    
      Password = new SetPassword;
      Password->show();
    
    }
    e questo è il main dove apro il dialog per la creazione pass, e la verifica del password
  • Re: Aiuto su creazione password e salvataggio sul pc

    Strano, me la finestra principale prende quel nome. Se non succede, cambialo con il metodo setWindowTitle() o dal designer.
    Se ti riferivi al nome dell'eseguibile, non c'entra. Quello dipende dalle impostazioni del progetto.

    Con "quell'istanza tra parentesi graffe" intendi il main? Nel main ci resti finché l'applicazione non si chiude. In particolare rimani fermo sulla chiamata a.exec(), che avvia l'event loop.

    Da migliorare non saprei. Magari considera altre opzioni suggerite in precedenza, come la classe QSettings o un file binario e vedi se sono più semplici.
  • Re: Aiuto su creazione password e salvataggio sul pc

    Alexv ha scritto:


    Strano, me la finestra principale prende quel nome. Se non succede, cambialo con il metodo setWindowTitle() o dal designer.
    Se ti riferivi al nome dell'eseguibile, non c'entra. Quello dipende dalle impostazioni del progetto.

    Con "quell'istanza tra parentesi graffe" intendi il main? Nel main ci resti finché l'applicazione non si chiude. In particolare rimani fermo sulla chiamata a.exec(), che avvia l'event loop.

    Da migliorare non saprei. Magari considera altre opzioni suggerite in precedenza, come la classe QSettings o un file binario e vedi se sono più semplici.
    no nel main se vedi la stringa qcoreapplication..... l'ho inserita nel funzione void del push button, quindi teoricamente inserita li dovrebbe cambiare solo il nome dell'applicazione in quel determinato momento, spero che so stato chiaro adesso. non so molto pratico di termini ecc
Devi accedere o registrarti per scrivere nel forum
21 risposte