Autore Topic: [Programmazione] Hello World!  (Letto 36858 volte)

0 Utenti e 1 visitatore stanno visualizzando questo topic.

Offline Wis

  • Highlander
  • *********
  • Post: 67.125
  • Mellifluosly Cool
Re: [Programmazione] Hello World!
« Risposta #300 il: 08 Dic 2020, 19:55 »
Verissimo. :D
Almeno sono pronto per le prossime RTX Nvidia. :yes:
Professional Casual Gamer

Offline Goffraiden

  • Condottiero
  • ******
  • Post: 6.817
  • Il principe del faceto
    • Arrested Developer
    • E-mail
Re: [Programmazione] Hello World!
« Risposta #301 il: 09 Dic 2020, 01:04 »
Mi sa che ho sbagliato mestiere. :D

Oh se poi ti piace in azienda un QA in più che scriva test automatici con Selenium non ci dispiace eh :whistle:
"Questa è l'Italia del futuro, un paese di musichette mentre fuori c'è la morte."

Offline Wis

  • Highlander
  • *********
  • Post: 67.125
  • Mellifluosly Cool
Re: [Programmazione] Hello World!
« Risposta #302 il: 09 Dic 2020, 06:01 »
Ahah, “decennale esperienza”. :D
Professional Casual Gamer

Offline TremeX

  • Condottiero
  • ******
  • Post: 9.575
  • / | \
Re: [Programmazione] Hello World!
« Risposta #303 il: 29 Mag 2021, 06:01 »
Ho fatto una specie di giochino a linea di comando in C. Per mia figlia che deve imparare le tabelline e che ovviamente non lo tocca nemmeno con il famoso legnetto.
Perdonate l'ingenuità della cosa, in realtà mi ci sono impegnato di brutto e sono sicuro che dai vostri sfottò imparerò qualcosa.
https://github.com/TremeX73/TabGame

Offline Marko

  • Stratega
  • *****
  • Post: 4.591
  • testo personale
    • E-mail
Re: [Programmazione] Hello World!
« Risposta #304 il: 19 Giu 2021, 09:29 »
qualcuno ferrato su mysql?

Offline Goffraiden

  • Condottiero
  • ******
  • Post: 6.817
  • Il principe del faceto
    • Arrested Developer
    • E-mail
Re: [Programmazione] Hello World!
« Risposta #305 il: 19 Giu 2021, 09:33 »
Ferrato non lo so ma prova a chiedere, magari quel poco che so basta 😀
"Questa è l'Italia del futuro, un paese di musichette mentre fuori c'è la morte."

Offline Wis

  • Highlander
  • *********
  • Post: 67.125
  • Mellifluosly Cool
Re: [Programmazione] Hello World!
« Risposta #306 il: 19 Giu 2021, 13:03 »
Ho fatto una specie di giochino a linea di comando in C. Per mia figlia che deve imparare le tabelline e che ovviamente non lo tocca nemmeno con il famoso legnetto.
Perdonate l'ingenuità della cosa, in realtà mi ci sono impegnato di brutto e sono sicuro che dai vostri sfottò imparerò qualcosa.
https://github.com/TremeX73/TabGame
Grande! Mio padre aveva fatto per me la stessa identica cosa.
Un omino davanti ad un ponte interrotto: ad ogni risposta buona viene costruito un pezzo di ponte e l’omino fa un passo avanti. Ad ogni risposta sbagliata solo l’omino fa un passo avanti.
Aaah, il grande Speccy. ^^
Professional Casual Gamer

Offline TremeX

  • Condottiero
  • ******
  • Post: 9.575
  • / | \
Re: [Programmazione] Hello World!
« Risposta #307 il: 20 Giu 2021, 07:53 »
Ho fatto una specie di giochino a linea di comando in C. Per mia figlia che deve imparare le tabelline e che ovviamente non lo tocca nemmeno con il famoso legnetto.
Perdonate l'ingenuità della cosa, in realtà mi ci sono impegnato di brutto e sono sicuro che dai vostri sfottò imparerò qualcosa.
https://github.com/TremeX73/TabGame
Grande! Mio padre aveva fatto per me la stessa identica cosa.
Un omino davanti ad un ponte interrotto: ad ogni risposta buona viene costruito un pezzo di ponte e l’omino fa un passo avanti. Ad ogni risposta sbagliata solo l’omino fa un passo avanti.
Aaah, il grande Speccy. ^^
E ma bella idea infatti. Il prossimo che le voglio fare è un semplice (spero) quiz su è/e/ho/o/hanno/anno/ha/a.

Offline Marko

  • Stratega
  • *****
  • Post: 4.591
  • testo personale
    • E-mail
Re: [Programmazione] Hello World!
« Risposta #308 il: 21 Giu 2021, 12:16 »
Ferrato non lo so ma prova a chiedere, magari quel poco che so basta 😀

devo creare un database che poi sia consultabile sia con un programma in C#, e so che esistono delle librerie dedicate, ma anche che questo programma mi faccia da traduzione, se così si può dire, in OPC, che ora è quello che va per la maggiore
mi servirebbe soprattutto sapere quanto spazio occupano i database normalmente e se posso salvarci dati provenienti da PLC in array, sono riuscito a salvarli in file.csv e funzionano, ma volevo buttare tutto su mysql e creare delle Tag opc ua consultabili che vadano a tradursi in query
l'idea base c'è, ma devo capire bene come funziona mysql, sto dando un occhio a delle guide, in settimana se riesco provo a creare un database con 4 acche e controllarlo intanto da un software c#.
ho provato a creare un server e client OPC in python, ma mi richiedono il c#
in python funzionava ma dovevo ancora fare molto, ci ho smanettato solo un paio di ore non avendo mai preso in mano quel linguaggio prima, giusto per avere un server e client funzionanti ecco.
se riuscissi a indicarmi un po' la strada per ferrarmi in fretta te ne sarei grato :)

Offline Goffraiden

  • Condottiero
  • ******
  • Post: 6.817
  • Il principe del faceto
    • Arrested Developer
    • E-mail
Re: [Programmazione] Hello World!
« Risposta #309 il: 21 Giu 2021, 20:19 »
Hmm. Premetto che non so nulla di PLC e affini e anche che non sono un DBA, quindi se ci sono esperti in uno di quei due campi potrei stare dicendo cose offensive 😅 Visto che mi chiedi info sulle dimensioni la risposta non può che essere "dipende" 😀 Personalmente ti direi che se non sei sicuro che dovrai maneggiare grossi volumi (dal GB in su) MySQL potrebbe non essere la soluzione migliore, cercando un po' online ho visto che per sistemi simili si può anche usare SQLite (sempre relazionale ma serverless), che è di dimensioni decisamente più ridotte. Se hai necessità di averlo su un server separato esistono delle implementazioni di SQLite server.

Se proprio vuoi usare MySQL ti posso dire che oltre una certa dimensione gli indici che decidi di avere su ogni tabella cominciano ad avere un certo peso e che le performance delle operazioni di ALTER scalano con le dimensioni, quindi conviene ragionare bene sulla struttura prima di cominciare a riempire il DB di dati (di nuovo, si parla di svariati GB di dati).

Sinceramente dimensioni/performance sono topic piuttosto avanzati quando si parla di MySQL, di solito passa del tempo prima di doversene preoccupare. Non saprei quindi consigliarti particolari risorse per "acculturarti in fretta" 🙂

A titolo informativo, che io sappia MySQL non supporta il tipo di dato Array ma se dici che sei riuscito a convertire i dati in un csv dovresti riuscire a convertirlo in una tabella senza problemi.
« Ultima modifica: 22 Giu 2021, 09:26 da Goffraiden »
"Questa è l'Italia del futuro, un paese di musichette mentre fuori c'è la morte."

Offline Marko

  • Stratega
  • *****
  • Post: 4.591
  • testo personale
    • E-mail
Re: [Programmazione] Hello World!
« Risposta #310 il: 23 Giu 2021, 08:48 »
per gli array, li ho salvati come dati numerici tipo esadecimali, tanto una volta ricaricati sul plc li riconosce in automatico se diposti esattamente
se non ricordo male i dati numerici non hanno definizioni strane, soprattutto gli esadecimali

Offline Goffraiden

  • Condottiero
  • ******
  • Post: 6.817
  • Il principe del faceto
    • Arrested Developer
    • E-mail
Re: [Programmazione] Hello World!
« Risposta #311 il: 23 Giu 2021, 10:04 »
FYI se non ho letto male MySQL dovrebbe supportare gli esadecimali come tipo numerico, mentre sembra che SQLite non li supporti e li converta a testo:

https://www.sqlite.org/datatype3.html

Citazione
A column with NUMERIC affinity may contain values using all five storage classes. When text data is inserted into a NUMERIC column, the storage class of the text is converted to INTEGER or REAL (in order of preference) if the text is a well-formed integer or real literal, respectively. If the TEXT value is a well-formed integer literal that is too large to fit in a 64-bit signed integer, it is converted to REAL. For conversions between TEXT and REAL storage classes, only the first 15 significant decimal digits of the number are preserved. If the TEXT value is not a well-formed integer or real literal, then the value is stored as TEXT. For the purposes of this paragraph, hexadecimal integer literals are not considered well-formed and are stored as TEXT. (This is done for historical compatibility with versions of SQLite prior to version 3.8.6 2014-08-15 where hexadecimal integer literals were first introduced into SQLite.) If a floating point value that can be represented exactly as an integer is inserted into a column with NUMERIC affinity, the value is converted into an integer. No attempt is made to convert NULL or BLOB values.
"Questa è l'Italia del futuro, un paese di musichette mentre fuori c'è la morte."

Offline TremeX

  • Condottiero
  • ******
  • Post: 9.575
  • / | \
Re: [Programmazione] Hello World!
« Risposta #312 il: 18 Dic 2021, 06:42 »
Come passa il tempo. Il quiz che avevo intenzione di fare, l'ho fatto e ve lo risparmio. Funza e la mia dolce bambina lo schifa. In compenso ho fatto sto mostro (e non credo di capire nemmeno bene fino in fondo come gira).

Questo è il file a corredo:
Codice: [Seleziona]
9|Prosegui senza curarti di nessuno e raggiungi l'uscita del tuo carcere. Sei salvo!|1|z|z
8|A volte e' meglio non disturbare uno zombie apparentemente privo di qualunque tipo di scopo. Ti azzanna al collo e dopo un po' tutto quanto sembra non avere piu' senso. RIP!|1|z|z
7|Nel corridoio ci sono altri uomini, ma non sembrano accorgersi della tua presenza. Provi a parlare con uno di essi?|0|8|9
6|La porta e' talmente affascinante per te che decidi di restare con lei per sempre. RIP!|1|z|z
5|Ti trovi in un lungo e stretto corridoio. Avanzi?|0|7|6
4|Hai ragione ad agire con prudenza, ma la porta non presenta nulla di strano. La attraversi?|0|5|6
3|Incredibilmente la chiave che hai trovato apre proprio la porta della cella. Controlli la porta prima di attraversarla?|0|4|5
2|Passerai i tuoi ultimi giorni in questo luogo. RIP!|1|z|z
1|Rovistando nella stanza trovi una chiave. Provi a usarla con la porta?|0|3|2
0|Ti trovi in una cella. Provi a cercare un modo per uscire?|0|1|2

e questo è il programma:
Codice: [Seleziona]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#include <locale.h>

typedef struct node {
    int id;
    char *desc;
    int final_status; //1 final, 0 non-final
    struct node *next_yes;
    struct node *next_no;
} node;

FILE *myFile;
int contatore_righe = 0;
char riga[500];
char fp[] = ".\\adventure.txt";

void get_node_data(node *n);
int check_y(char y);
void game(node *i);
node* create_node(int id, char *desc, int final_status, node *next_yes, node *next_no);

int main()
{
    //setlocale (LC_ALL,"");      //settings per le lettere accentate insieme a #include <locale.h>

    myFile = fopen(fp, "r");
    while ( fscanf(myFile, "%500[^\n]\n", riga) == 1 )
    {
        contatore_righe++;
    }
    fclose(myFile);
    printf("DEBUG righe: %i\n", contatore_righe);
   
    //int N;

    node **n; // = malloc(N * sizeof(node));

    char c1[3];    //indice
    char c2[500];  //testo
    char c3[2];    //final_status
    char c4[3];    //next yes
    char c5[3];    //next no
   
    int indice_righe = contatore_righe-1;

    myFile = fopen(fp, "r");
    while ( fscanf(myFile, "%3[^|]|%500[^|]|%c|%3[^|]|%3[^\n]\n", c1, c2, c3, c4, c5) == 5 )
    {
        if (atoi(c3) == 1)
            *(n+indice_righe) = create_node(atoi(c1), c2, atoi(c3), NULL, NULL);
        else
            *(n+indice_righe) = create_node(atoi(c1), c2, atoi(c3), *(n+atoi(c4)), *(n+atoi(c5)));
               
        indice_righe--;
    }
    fclose(myFile);

    game(*n);
   
    puts("\nFine!");
    return 0;
}

void game(node *i)
{
    char answer_y_n;
   
    while (i != NULL)
    {
        get_node_data(i);
       
        if (i->final_status != 1)
        {
            scanf("%c", &answer_y_n);
            fflush(stdin);
        }

        if (check_y(answer_y_n))
            i = i->next_yes;
        else 
            i = i->next_no;
    }
}

node* create_node(int id, char *desc, int final_status, node *next_yes, node *next_no)
{
    node *n = malloc(sizeof(node));
    n->id = id+1;
    n->desc = strdup(desc);
    n->final_status = final_status;
    n->next_yes = next_yes;
    n->next_no = next_no;
    return n;
}

void get_node_data(node *n)
{
    printf("%d: %s ", n->id, n->desc);
}

int check_y(char y)
{
    switch (y)
    {
        case 'y':
        case 'Y':
        case 's':
        case 'S':
            return 1;
        default:
            return 0;
    }
}

Offline Marko

  • Stratega
  • *****
  • Post: 4.591
  • testo personale
    • E-mail
Re: [Programmazione] Hello World!
« Risposta #313 il: 18 Dic 2021, 08:24 »
ma come te lo schifa!!!!!
porello...

prova ad aggiungerci un ascii che ricordi qualche bestia che le piace, magari la attiri a farlo comparire ahahahaha

Offline TremeX

  • Condottiero
  • ******
  • Post: 9.575
  • / | \
Re: [Programmazione] Hello World!
« Risposta #314 il: 19 Dic 2021, 13:21 »
Eh.... nel primo "gioco" ho messo un easter egg di un'immagine ASCII. L'ha beccato alla prima partita -_-