Newsgroup: it.comp.lang.visual-basic
Titolo: VB6 e risorse di tipo testo

Ciao a tutti
mi scuso se il messaggio compare 2 volte(piccolo problema con xnews temo)
ho la necessità di importare in un file res un migliaio di stringhe, e non 
vorrei dovermele digitare a mano...
esistono editor in grado di importare interi file txt (una riga = 1 
risorsa)?
oppure esistono metodi da codice o da API per scrivere informazioni nei 
file di risorsa?
grazie
Davide

 risorsa)?
Come e' fatto *esattamente* il file che attualmente contiene le
stringhe?
Per essere piu' precisi, come e' fatta ogni riga del file da cui
devi importare?
Provo a spiegarmi ulteriormente.
Le risorse si ottengono compilanto un file .rc, che potrebbe anche
includere un file .h.
Nel file .h hai la decodifica delle costanti parlanti degli ID risorsa,
mentre il file .rc descrive le risorse stesse. Nel caso delle stringhe
queste vengono inserite direttamente in un formato tipo questo:
#include "resource.h"
STRINGTABLE DISCARDABLE
BEGIN
    E_INVALID_LOGIN "The login failed. Do you wish to retry?"
    E_MISSING_TEMPPATH "Temporary system path not found."
    E_NEWPASS_NOT_VERIFIED "The new password was not correctly re-typed!"
    E_MIN_PASSLEN "The password must have at least |0 characters!"
    E_MAX_PASSLEN "The password must have until |0 characters!"
    E_PASSEXPIRED "Password expired, you cannot go on!"
    E_FIELD_NOT_FILLED "Please insert a value for |0!"
    E_MISSING_CONNSTRING "Please set a connection string to the database before
select the ship!"
    E_NEWPASS_MUSTBE_DIFFERENT
                            "The new password must be different from the old one!"
    E_SELECT_OPERATOR "Select a valid operator for this value!"
    E_INSERT_TRUEFALSE "Only ""TRUE"" or ""FALSE"" is accepted"""
END
Le costanti che vedi a sinistra sono definite nell'incluso file .h,
esempio:
#define E_INVALID_LOGIN 501
#define E_MISSING_TEMPPATH 502
#define E_NEWPASS_NOT_VERIFIED 503
#define E_MIN_PASSLEN 504
#define E_MAX_PASSLEN 505
#define E_PASSEXPIRED 506
#define E_FIELD_NOT_FILLED 507
#define E_MISSING_CONNSTRING 508
Ecco perche' chiedevo il formato del file di partenza.
L'obiettivo e' arrivare a due files cosi'.
--
ciao, hal
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Davide
Bye
Raf

 
uhm dunque il file di partenza ha le righe in questo modo:
0:: 
1:: primo messaggio
2:: secondo messaggio
3:: .....
n:: ennesimo messaggio
quindi potrei fare un utility che mi crea dai miei txt il file 
BEGIN
    COSTANTE1 "MESSAGGIO1"
    ....
END
e il file .h
questo è semplice poi con sti 2 file che ci faccio?
normalmente nei file di risorse le stringhe si chiamano 101,102....
questo è il valore delle costanti?
grazie!

 
ottima informazione grazie:) 
una sola cosa ancora, se la sai ^_^!, come definisco a quale lingua fanno 
riferimento le stringhe?

 ha scritto nel messaggio
news:Xns95FE688A...@130.133.1.4...

È sufficiente inserire questa direttiva (es. per l'inglese).
LANGUAGE <LanguageID>, <SublanguageID>
Ad es. 0x09 è il LanguageID corrispondente a English, 0x10 è quello per
l'italiano. SublanguageID può essere lasciato a zero (neutrale) per le lingue
più comuni.
Trovi le costanti nel file OLENLS.H (che puoi includere nel sorgente .rc con la
direttiva #include), situato in una delle cartelle di installazione del VC++ (mi
pare "....\vc98\Include")
Ad es.:
#include "olenls.h"
STRINGTABLE
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
 100, "Index out of range"
 101, "Cache database is corrupted"
 }
Bye
Raf

vorrei dovermele digitare a mano...
Mi consenti un piccolo suggerimento?
Non usare il file RES per le stringhe (a guardar bene, non serve quasi
per nulla); usa piuttosto un file di testo o un DB Access, che hai lo
stesso risultato in modo più veloce e, soprattutto, facilmente
manutenibile
--
Ciao!
Luca Menegotto

 Mi consenti un piccolo suggerimento?
ora l'applicazione usa un file di testo
volevo passare ad un file res per maggiore controllo
grazie cmq delle info