Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-05-2011, 22:42   #1
ferenry
Junior Member
 
Iscritto dal: May 2011
Messaggi: 8
neofita...consiglio

Salve,
sono un neofita nella programmazione conosco un pò di basic ma mi manca
qualche info per fare il programmino che mi serve:
allora in un file .csv ho nella prima riga una serie di variabili separate da virgola a,b,c,d
poi nella riga successiva ho delle stringhe costanti separate sempre da virgole
X,Y
vorrei creare un programmino che mi prenda X,Y,e ci aggiunga a
poi mi vada a capo mi riscriva X,Y,e ci aggiunga b...e cosi via..
Consigli su come crearlo?? basic? VB? etc....grazie
Enrico
ferenry è offline   Rispondi citando il messaggio o parte di esso
Old 17-05-2011, 23:05   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Usa VB (.NET ovviamente, non è che mi salti fuori col visual basic del voltes' indre'), visto che hai già una sentore di basic dovrebbe renderti la vita più facile.

Dopodiché dovrai spulciarti un po' la documentazione delle librerie di .NET che riguardano la lettura e scrittura di file di testo oltre alla manipolazione di stringhe.

Su msdn trovi tutta la documentazione e tanti esempi anche in vb.

http://msdn.microsoft.com/en-us/library/gg145045.aspx
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2011, 05:46   #3
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da ferenry Guarda i messaggi
Salve,
sono un neofita nella programmazione conosco un pò di basic ma mi manca
qualche info per fare il programmino che mi serve:
allora in un file .csv ho nella prima riga una serie di variabili separate da virgola a,b,c,d
poi nella riga successiva ho delle stringhe costanti separate sempre da virgole
X,Y
vorrei creare un programmino che mi prenda X,Y,e ci aggiunga a
poi mi vada a capo mi riscriva X,Y,e ci aggiunga b...e cosi via..
Consigli su come crearlo?? basic? VB? etc....grazie
Enrico
Io lo farei in Python, che ha già un modulo per manipolare csv ed è molto semplice come linguaggio (ha alcune affinità col BASIC):
Codice:
import csv
with open('FileSorgente.csv', 'rb') as f:
    Sorgente = csv.reader(f)
    Riga = Sorgente.next() # Legge la prima riga come elenco di stringhe
    Variabili = [int(Valore) for Valore in Riga] # Converte la prima riga di valori da stringhe a interi
    with open('FileDestinazione.csv', 'wb') as g:
        Destinazione = csv.writer(g)
        for Riga in Sorgente:
            Riga = [int(Valore) for Valore in Riga] # Converte l'elenco di valori da stringhe a interi
            for Variabile in Variabili:
                NuovaRiga = [Valore + Variabile for Valore in Riga]
                Destinazione.writerow(NuovaRiga)
Supponendo che FileSorgente.csv sia fatto così:
Codice:
a,b,c
X,Y
W,Z
con tutti i valori interi, viene creato FileDestinazione.csv fatto così:
Codice:
X+a,Y+a
X+b,Y+b
X+c,Y+c
W+a,Z+a
W+b,Z+b
W+c,Z+c
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2011, 12:47   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Guarda, ci avrei scommesso solo che la snai non la quotava neanche.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2011, 13:07   #5
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Giusto perché ho avuto uno straccio di tempo (cosa rara in questo periodo).

Riporto una versione senza costrutto with, che per un neofita della divina scuola del pitone magari è più leggibile:
Codice:
import csv
f = open('FileSorgente.csv', 'rb')
Sorgente = csv.reader(f)
Riga = Sorgente.next() # Legge la prima riga come elenco di stringhe
Variabili = [int(Valore) for Valore in Riga] # Converte la prima riga di valori da stringhe a interi
g = open('FileDestinazione.csv', 'wb')
Destinazione = csv.writer(g)
for Riga in Sorgente:
    Riga = [int(Valore) for Valore in Riga] # Converte l'elenco di valori da stringhe a interi
    for Variabile in Variabili:
        NuovaRiga = [Valore + Variabile for Valore in Riga]
        Destinazione.writerow(NuovaRiga)
g.close()
f.close()
Dai, dillo che ti piace la programmazione funzionale mischiata a quella strutturata.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2011, 13:17   #6
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Infedele!

Dalle TavOOle della legge: non avrai altra divinità all'infuori dell'orientamento agli oggetti.

Codice:
CVS file = new CVS(percorso);
Variabili v = file.getVariabili();
Costanti c = file.getCostanti();
CVS newFile = new CVS(v, c);
newFile.write(percorso);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2011, 15:08   #7
ferenry
Junior Member
 
Iscritto dal: May 2011
Messaggi: 8
Grazie ragazzi...
ma non pensate che 2 righe di codice basic siano ancora più semplici...
mi sapreste dire qual è la funzione che legge una riga (o parte) e la copia
su una riga in basso??
Grazie
ferenry è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2011, 15:17   #8
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Come la bellezza, anche la semplicità è nell'occhio di chi guarda.

Devi cercare le funzionalità che ti servono qui dentro:

http://msdn.microsoft.com/en-us/library/gg145045.aspx

Sfortunatamente i file sono molto più "stupidi" di quando uno possa immaginare. In particolare non hanno alcuna capacità di determinare la posizione relativa di ciò che contengono.

Detto altrimenti, non c'è una funzione ad hoc che sposti una riga da una parte all'altra.

Premesso che ci sono dei limiti all'applicabilità di quanto suggerisco, una via rapidamente comprensibile potrebbe essere questa:

leggi tutte le righe del file in un array di stringhe:

http://msdn.microsoft.com/en-us/library/s2tte0y1.aspx

le trasformi com'è nelle tue intenzioni e poi le usi per sovrascrivere il file di partenza:

http://msdn.microsoft.com/en-us/library/92e05ft3.aspx

(inizialmente è forse meglio se usi un diverso file per poter verificare il risultato).

Poi troverai modi più consoni per farlo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
DREO: a IFA 2026 4 novità fra cui...
Slackbot genera dashboard e microsite de...
Idrogeno, nuova cella a combustibile rag...
Con la NASA fuori dai giochi, l'ESA risc...
Una falla di ChatGPT permette di estrapo...
Piano clima, 1,34 miliardi per il bonus ...
Porsche esce definitvamente da Bugatti R...
NVIDIA App aggiunge una delle funzioni p...
Come sarebbe il mondo se la luce viaggia...
Titanio, ceramica e zaffiro per HUAWEI W...
Taglio delle accise sul gasolio prorogat...
Universal e ElevenLabs: una piattaforma ...
Astra mette in crisi i server di OpenAI:...
Phanteks EX5: disponibile il case a bloc...
Broadcom rimuove l'accesso a uno strumen...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:11.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v