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 28-11-2004, 18:02   #1
kappa85
Senior Member
 
L'Avatar di kappa85
 
Iscritto dal: Feb 2004
Messaggi: 3797
Lista files

Chiedo venia se è la sezione sbagliata o se è un argomento old...

esiste uno script, un programmino o altro che scrivano in un file di testo la lista dei files di una o più cartelle, ed eventualmente, nel caso di mp3, ne associno anche alcuni dettagli come titolo, autore, durata, ecc???
kappa85 è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2004, 20:00   #2
cikko
Member
 
L'Avatar di cikko
 
Iscritto dal: Sep 2004
Città: vicino a Cosenza
Messaggi: 61
per quale sistema operativo ti serve? e quale linguaggio?
se per C++, ti posso postare il codice per la lettura/scrittura dei tag ID3.

Saluti
__________________
<| http://fgr.altervista.org |>
<| GNU/Linux Registered User #365929 |>
<| GnuPG/OpenPGP key available |>
cikko è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2004, 22:48   #3
kappa85
Senior Member
 
L'Avatar di kappa85
 
Iscritto dal: Feb 2004
Messaggi: 3797
Grazie, saresti molto gentile, per c++ va benissimo, deve girare su win xp.
kappa85 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2004, 10:55   #4
cikko
Member
 
L'Avatar di cikko
 
Iscritto dal: Sep 2004
Città: vicino a Cosenza
Messaggi: 61
Ciao,
allora ti posto il codice per i tag ID3. Quindi deve girare su Win xp, se era per Linux ti potevo postare qualcosa anche sulla lista di file e cartelle. Comunque ci dovrebbe essere una qualche API (che ora mi sfugge).

<code>
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;

bool ctrlTag(fstream&); // controlla se esiste la stringa TAG
void viewTag(fstream&); // visualizza le informazioni ID3
void setTag(fstream&); // imposta i tag ID3, anche se non esistono

typedef struct {
char title[31];
char artist[31];
char album[31];
char year[5];
char comment[29];
char track;
char genere;
} ID3; // struttura globale, accessibile da tutte le funzioni

int main(int argc, char* argv[])
{
char risp;
if (argc == 1 || argc > 2) {
cerr << "Error: Devi specificare un file .mp3!\n" << "Sintassi: ./id3 \"file1.mp3\"\n\n";
exit(EXIT_FAILURE);
}

fstream fio(argv[1], ios::binary | ios::in | ios::out);
if (!fio) {
cerr << "File non valido o non esistente!\n\n";
exit(EXIT_FAILURE);
}

// controllo se è presente la stringa TAG
if (!ctrlTag(fio)) cerr << "TAG ID3 mancanti o errore di posizionamento all'interno del file!\n\n";
else viewTag(fio);
cout << "Desideri inserire/modificare i tag ID3? [Si, No]: ";
cin >> setw(1) >> risp;
if (risp == 's' || risp == 'S') setTag(fio);
return EXIT_SUCCESS;
}

bool ctrlTag(fstream& file)
{
char buf[3];
file.seekp(-128, ios::end); // posizionamento 128 byte prima di EOF
file.read(buf, 3);
if (!strncmp(buf, "TAG", 3)) return true; // c'e' la stringa tag
else return false;
}

void viewTag(fstream& file)
{
char buf[129];
int i;

file.seekp(-128, ios::end);
file.read(buf, 128);
// titolo traccia, byte 3..32
cout << "\nTITOLO: ";
for (i = 3; i < 33; i++)
if ((buf[i] == '\0') || (buf[i] == ' ') && (buf[i+1] == ' ')) break;
else cout << buf[i];
// artista, byte 33..62
cout << "\nARTISTA: ";
for (i = 33; i < 63; i++)
if ((buf[i] == '\0') || (buf[i] == ' ') && (buf[i+1] == ' ')) break;
else cout << buf[i];
// album, byte 63..92
cout << "\nALBUM: ";
for (i = 63; i < 93; i++)
if ((buf[i] == '\0') || (buf[i] == ' ') && (buf[i+1] == ' ')) break;
else cout << buf[i];
// anno, byte 94..96
cout << "\nANNO: ";
for (i = 93; i < 97; i++)
if (!(buf[i] >= '1') && (!buf[i+1] <= '9') || (buf[i] == '\0')) break;
else cout << buf[i];
// commento, byte 94..96
cout << "\nCOMMENT: ";
for (i = 97; i < 126; i++)
if ((buf[i] == '\0') || (buf[i] == ' ') && (buf[i+1] == ' ')) break;
else cout << buf[i];
// traccia
cout << "\nTRACCIA: ";
cout << static_cast<int> (buf[126]);
// genere
cout << "\nGENERE: ";
cout << buf[127];
cout << "\n\n";

}

void setTag(fstream& file)
{

ID3 id3;
int size, i, traccia;
char tag[] = "TAG";
char buf[125], track[4];

if (!ctrlTag(file)) {
file.seekp(0, ios::end);
file.write(tag, 3);
} else file.seekp(-125, ios::end);
file.flush();
cin.getline(tag, 3);
cout << "\nTitolo: ";
cin.getline(id3.title, 31);
size = cin.gcount()-1;
for (i = size; i < 30; i++) id3.title[i] = static_cast<char> (NULL);
for (i = 0; i < 30; i++) buf[i] = id3.title[i];
cout << "\nArtista: ";
cin.getline(id3.artist, 31);
size = cin.gcount()-1;
for (i = size; i < 30; i++) id3.artist[i] = static_cast<char> (NULL);
for (i = 0; i < 30; i++) buf[30+i] = id3.artist[i];
cout << "\nAlbum: ";
cin.getline(id3.album, 31);
size = cin.gcount()-1;
for (i = size; i < 30; i++) id3.album[i] = static_cast<char> (NULL);
for (i = 0; i < 30; i++) buf[60+i] = id3.album[i];
cout << "\nAnno: ";
cin.getline(id3.year, 5);
if (cin.gcount()-1 < 4 || id3.year[0] == '\n') for (i = 0; i < 4; i++) id3.year[i] = static_cast<char> (NULL);
else for (i = 0; i < 4; i++) buf[90+i] = id3.year[i];
cout << "\nComment: ";
cin.getline(id3.comment, 29);
size = cin.gcount()-1;
for (i = size; i < 28; i++) id3.comment[i] = static_cast<char> (NULL);
for (i = 0; i < 28; i++) buf[94+i] = id3.comment[i];
cout << "\nTraccia: ";
cin.getline(track, 4);
traccia = atoi(track);
if (traccia >= 0 && traccia <= 127) id3.track = static_cast<char> (traccia);
else id3.track = static_cast<char> (NULL);

buf[122] = static_cast<char> (NULL);
buf[123] = id3.track;
buf[124] = static_cast<char> (NULL); // genere

file.write(buf, sizeof(buf));

}

</code>

Saluti
__________________
<| http://fgr.altervista.org |>
<| GNU/Linux Registered User #365929 |>
<| GnuPG/OpenPGP key available |>
cikko è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2004, 17:38   #5
kappa85
Senior Member
 
L'Avatar di kappa85
 
Iscritto dal: Feb 2004
Messaggi: 3797
Scusa, per i midi è possibile la stessa cosa o simile?
kappa85 è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2004, 18:59   #6
cikko
Member
 
L'Avatar di cikko
 
Iscritto dal: Sep 2004
Città: vicino a Cosenza
Messaggi: 61
Non lo so come e' la situazione per i midi.
__________________
<| http://fgr.altervista.org |>
<| GNU/Linux Registered User #365929 |>
<| GnuPG/OpenPGP key available |>
cikko è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2004, 21:27   #7
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
scusate ragazzi...ma a cosa serve questo codice?cosa produce?e sopratutto...come posso far si che diventi un file utilizzabile per la sua applicazione?
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2004, 21:38   #8
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
Quote:
Originariamente inviato da NeoNum6
scusate ragazzi...ma a cosa serve questo codice?cosa produce?e sopratutto...come posso far si che diventi un file utilizzabile per la sua applicazione?
intendi come farlo eseguire? se è questo devi compilarlo

MB_ICONQUESTION
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 30-11-2004, 22:11   #9
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
come lo compilo?cosa mi serve?dove posso scaricare questo programma?
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 01-12-2004, 07:18   #10
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
guarda nelle faq oppure cerca devcpp

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è 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, ...
EU Kids Act: una legge per riscrivere l'...
IonQ annuncia Superion 256, un computer ...
Tesla Semi arriva in Europa: fino a 500 ...
realme 16 Pro Harry Potter Edition &egra...
Siri potrebbe permettere di scegliere tr...
OpenAI acquisisce Glass Imaging per oltr...
Steam Deck 2: Valve non trova ancora il ...
Il CEO di Microsoft chiede una supervisi...
Dreame T15 Pro Heat, aspira la polvere e...
Apple rilascia iOS 27, iPadOS 27 e macOS...
DDRop, l'attacco hardware da meno di 200...
LG OLED G6 55'' a 1.368€ e LG NANO 98'' ...
OpenRGB 1.0 arriva dopo tre anni: una so...
OpenAI paga centinaia di revisori per le...
Opel scarica l'adrenalina elettrica al S...
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: 10:24.


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