mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: Problemi con HeapCreate

Sto scrivendo un programma dove utilizzo la HeapCreate specificando come
dimensione iniziale dello Heap allocato la dimensione di 1024 bytes e come
dimensione massima 0 (cioč lo haep puo' crescere limitato solo dalla memoria
disponibile, giusto?).
Nel programma uso diverse volte la HeapAlloc per allocare porzioni di
memoria diverse all'interno di questo heap, ma quando si eccedono i 1024
bytes specificati nella HeapCreate, il programma va in crash. Ho provato
anche a sostituire lo 0 della dimensione max con un valore di qualche MB, ma
č stato inutile.
Qualcuno ha mai avuto esperienze simili? Eventualmente, esiste un metodo per
risolvere il problema ( a parte aumentare la dimensione minima dello heap
:) )?
Grazie.

Andrea ha scritto:

Come mai stai usando direttamente le API di Windows per gestire l'heap? Il
tool che usi non č in grado di allocare blocchi dinamici, ad esempio con
degli operatori tipo new e delete del C++ ?
Al
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Sto usando il linguaggio C, quindi non ci sono new e delete. E ho preferito
evitare anche malloc&Co. in modo da fare + facilmente la free di tutto lo
heap tramite una sola chiamata alla HeapDestroy (piuttosto che una chiamata
alla HeapFree per ogni porzione di heap allocata).

Newsgroup: it.comp.programmare.win32
Titolo: service pack 5

ho installato il service pack 5 (123 Mb) ma non trovo nessuna differenza nel
visual c ++, e poi era in italiano il service pack, come faccio a vedere se
è stato installato correttamente?
Grazie ciao
Gianluca

 Grazie ciao
Guarda la faccia di Visual Basic
Byes
FusionFai



Ti posso dire che in Visual Basic compare la scritta nello splash
screeen iniziale (SP5).
Ciao
Stefano
Stefano "HappyMan" 
--
IABLA Sezione Lago Maggiore (NO)
Web 
http://happyman.n3.net
 [Foto salseri/e & I.A.B.L.A. Ring]
Email: 
happyman...@libero.it
 [Togliere nospam per scrivermi]
Newsgroup: it.comp.programmare.win32
Titolo: Problema apertura di porte seriali

Salve a tutti, ho un problema che non riesco a capire.
Sto utilizzando due schede PCI multi seriali, da 8 porte seriali 
ciascuna, sulle quali sono collegati dei sensori che vanno utilizzati in 
RS232, utilizzando le API di windows per aprire le 16 porte seriali.
Non ho problemi aprendo le porte dalla 1 alla 9, ma dalla 10 in poi la 
CreateFile fallisce restituendo il codice 2 (GetLastError) "The system 
cannot find the specified file"
Anche aprendo singolarmente le porte dalla 10 in poi il comando fallisce.
In "Gestione periferiche" Windows vede regolarmente tutte le porte COM e 
collegando un modem su queste porte, XP lo rileva senza problemi.
Qualcuno ha avuto problemi simili? Avete idea di quale possa essere il 
motivo di questo comportamento? Esiste forse un limite alle porte che 
posso aprire?
Per completezza allego uno spezzone del codice
Ringrazio chi sarà così cortese da darmi una dritta.
void CProvaSerialiDlg::OnButton1()
{
	char portaCom[10];
  	int i;
  	int err=1;
  	int retVal;
  	DWORD errCode;
	HANDLE porta;
	COMMTIMEOUTS  commTimeout;
	DCB dcb;
 
	porta = CreateFile("COM10",GENERIC_READ , 0, NULL,
                      OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
 
	if(porta == INVALID_HANDLE_VALUE)
	{
		errCode = GetLastError();
		/****** QUI DA ERRORE 2*****/
		return ;
	}
	else
	{
		....
	}
}

 posso aprire?
[cut]
Vedi
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp
credo che questa frase possa aiutare
"To specify a COM port number greater than 9, use the following syntax:
"\\\\.\\COM10". This syntax works for all port numbers and hardware that
allows COM port numbers to be specified."
Saluti
JJ
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 JJ
Quoto... per comodita' quando uso porte seriali antepongo SEMPRE \\\\.\\
.... ;)
Le porte quindi si chiamano
\\.\COM1
.....
\\.\COMxx
Sko

 
Wow! Non lo sapevo. Grazie mille, mi avete risolto il problema!
Newsgroup: it.comp.programmare.win32
Titolo: webcam

Forse è una domanda troppo generale, ma ci provo lo stesso...
Se volessi trovare il modo di gestire l'immagine della webcam, da dove
potrei iniziare? visualC++? O che altro?
Grazie

 ha scritto nel messaggio
news:nL8F7.10189$zl4.3...@news2.tin.it...


Newsgroup: it.comp.programmare.win32
Titolo: Registro di Windows

devo immettere degli input in determinate chiavi del registro di Win
(regedit.exe), lasciando all'utente la la scelta di questi Input
(ad esempio, una parola).
Secondo Voi Come Dovrei Procedere alla stesura del software con
C++ Builder 5?
P.S.: è davvero urgente, grazie.

devo immettere input in determinate chiavi del registro di Win




#include <Registry.hpp>
TRegistry *myReg = new TRegistry;
myReg->RootKey = HKEY_LOCAL_MACHINE;
if (myReg->OpenKey("Software\\Urgentissimo\\Blablabla", true)) {
	myReg->WriteString(("Chiave1", "Scrive!!!!");
	myReg->WriteInteger("Chiave2", 1234);
	myReg->CloseKey();
}
così va bene? :)
leggiti la doc x tutti i metodi di TRegistry
ciao
Antonio

Newsgroup: it.comp.programmare.win32
Titolo: info about windows register

Can you why when I monitor the accesses to register from any programs same
keys haven't standard names? e.g. Standard names are HKCU\Software\Pippo
etc...
But some programs have this kind of keys: 0xc188AA10\RPCRT4
Can you tell me why?
Is this a way to protect the access to register from hacker?
If yes can you tell me how can I do the something?
P.S. Is obvious that regedit doesn't find keys with name as
0xc188AA10\RPCRT4.

 wrote in message
news:939582579.877882@fire-int...


Newsgroup: it.comp.programmare.win32
Titolo: Come inserire immagini in un tree control

Qualcuno di voi ha mai utilizzato un tree ctrl in VC++?
Sapete come si fa ad inserire le immagini che compaiono alla sinistra delle 
label?
Accetto anche link a siti in cui trovare info!!
     Massimo
------------------------------------------------------------
 Get your FREE web-based e-mail and newsgroup access at:
 
http://MailAndNews.com
 Create a new mailbox, or access your existing IMAP4 or
 POP3 mailbox from anywhere with just a web browser.
------------------------------------------------------------



Crei un CImageList con tutte le bitmap che devi inserire
Associa l'oggetto appena creato al Tree con
CTreeCtrl::SetImageList()
Quando inserisci gli elementi nel Tree specifica quale bitmap usare in
CTreeCtrl::InsertItem()
--
 ---  MiB ----
"Massimo Bonanni" <massimo...@MailAndNews.com> ha scritto nel messaggio
news:3A2D...@MailAndNews.com...


===== Original Message From "MiB" <M...@MiB.it> =====


===== Original Message From Massimo Bonanni <massimo...@MailAndNews.com> 
=====


 ------------------------------------------------------------
Guardati l'help di Visual Studio:
Trying On the Tree Control
Ogni tanto cercare sul proprio HD non fa' male. L'articolo
e' niente di meno del 1996!
Ciao.
Il Michett@
--
Newsgroup: it.comp.programmare.win32
Titolo: Aiuto, grosso problema

Ciao a tutti.
Nessuno di voi sa come poter leggere in ambiente windows a quali gruppi
multicast il pc si e' iscritto? Spiegando meglio la cosa, io ho un pc
con una scheda di rete ethernet e volevo sapere dove poter leggere
l'indirizzo del gruppo multicast al quale le applicazioni si registrano
durante la navigazione su internet. DEve leggere direttamente dalla
ethernet? E come si fa? Oppure tutto e' registrato alivello piu' al;to
nel kernel?
tante grazie e ciao
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Newsgroup: it.comp.programmare.win32
Titolo: COMANDO PORTA SERIALE

Ho la necessitą di pilotare una seriale in modo che un solo pin
restituisca un valore logico positivo in modo da comandare un relč. Sono
un pņ ignorante in materia, e non capisco una cosa, cioč:
 vedo dei programmi di esempio in linux che identificano la seriale con
ttyS*, ma in win viene allora identificata con COM1? Cioč, ho bisogno di
accedere direttamente all'indirizzo 0x03f8 o c'č un identificativo come
x linux?
ciao e grazie

 ciao e grazie
Se devi controllare un RELE (o qualcosa di simile) non ti converrebbe
usare la porta parallela stampante? In questo caso fai un semplice outport
all'indirizzo 0x378 (per la porta 1) o 0x278 (porta 2) e ti ritrovi pari
pari il tuo byte sui pin 2,3,4,5,6,7,8,9 (lsb ... MSB).
La gestione della porta seriale e' un po' piu' complicata, anche xche' si
aspetta di trasmettere i dati in modo seriale, quindi dovresti usare i
segnali MODEM control ... ma non so se il S.O. te li lascia gestire.
Buon lavoro,
Alfredo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 x linux?
Ecco il modo più semplice per controllare la presenza, ad esempio, della
COM1 sotto windows:
BOOL Com1Disponibile()
{
    HANDLE hCommDevice = NULL;
    if ((hCommDevice =::CreateFile("COM1",
      GENERIC_READ | GENERIC_WRITE,
      0,
      NULL,
      OPEN_EXISTING,
      FILE_ATTRIBUTE_NORMAL |
      FILE_FLAG_SEQUENTIAL_SCAN,
      NULL)) != INVALID_HANDLE_VALUE) {
        CloseHandle(hCommDevice);
        return TRUE;    // La porta COM1 è disponibile
    }
        // La porta COM1 non è disponibile
        return FALSE;
}
L'handle (hCommDevice) che crei con CreateFile può essere usato nelle API di
comunicazione di windows..
Per esempio:
typedef struct _tabBAUDRATE {
 DWORD dwBaudRate;
 char* pszBaudRate;
} BAUDRATE;
const BAUDRATE baudratelist[] = {
 { CBR_110, "110bps" },
 { CBR_300, "300bps" },
 { CBR_600, "600bps" },
 { CBR_1200, "1.2Kbps" },
 { CBR_2400, "2.4Kbps" },
 { CBR_4800, "4.8Kbps" },
 { CBR_9600, "9.6Kbps" },
 { CBR_14400, "14.4Kbps" },
 { CBR_19200, "19.2Kbps" },
 { CBR_38400, "38.4Kbps" },
 { CBR_56000, "56Kbps" },
 { CBR_57600, "57.6Kbps" },
 { CBR_115200, "115.2Kbps" },
 { CBR_128000, "128Kbps" },
 { CBR_256000, "256Kbps" },
 { DWORD(-1), NULL }
};
char* translatebaudrate(DWORD dwBaudRate)
{
 int search = 0;
 while (baudratelist[search].pszBaudRate) {
  if (dwBaudRate == baudratelist[search].dwBaudRate)
   return baudratelist[search].pszBaudRate;
  search++;
 }
 return NULL;
}
BOOL GetBaudCOM1BaudRate()
{
    hCommDevice = ::CreateFile( .... vedi sopra .... );
    if(hCommDevice != INVALID_HANDLE_VALUE)
    {
        DCB dcb;
        GetCommState(hCommDevice, &dcb);
        printf("Current COM1 Baud Rate set to %s\n",
translatebaudrate(dcb.BaudRate));
        CloseHandle(hCommDevice)
        return TRUE;
     }
    return FALSE;
}
Ciao.
--
Edoardo Ierina
Reply To: i.e...@ti.tenilacsit (rovescia il suffisso per rispondere)
Newsgroup: it.comp.programmare.win32
Titolo: coda dei messaggi di windows

Salve,
devo gestire in qualche modo la coda dei messaggi di windows, ma, purtroppo,
a parte la msdn di microsoft, non sono riuscito a trovare granché.
C'è qualcuno che ha qualche riferimento da darmi ?
Ringrazio in anticipo.
--
Ciao.
Maurizio
P.S.: eliminare _NO_SPAM per rispodere in privato

 ? Ringrazio in anticipo.
Cosa intendi per "coda dei messaggi di windows"?
In che linguaggio? Con che framework?
Se intendi i messaggi di sistema devi dare un'occhiata alle funzioni 
Get/PeekMessage (per prelevare messaggi dalla coda) o 
MsgWaitForMultipleObjects (per processare i messaggi mentre si č in 
attesa su uno o piů oggetti di sincronizzazione) e 
Translate/DispatchMessage per inviare i messaggi alle varie finestre 
(dopo aver eventualmente "tradotto" alcuni messaggi).
Inoltre devi documentarti sulle WindowProc e DialogProc.
Alcuni linguaggi e ambienti di sviluppo (VB, Delphi, C++ Builder, 
MFC) semplificano questa gestione e, in alcuni casi, non ti 
permettono di gestire direttamente i messaggi, se non con 
"trucchetti" non proprio semplici.
Per un eccellente spiegazione delle API win32 prova a cercare in rete 
il tutorial di Alex Martelli (lo cito con la stessa frequenza con cui 
dimentico l'URL).
Se invece indendi MSMQ MicroSoft Message Queue allora molto dipende 
dal linguaggio e da quanto conosci COM.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

 Se invece indendi MSMQ MicroSoft Message Queue
ho data uno sguardo a ciò, ma a prima vista, ho avuto la sensazione che non
era quello che cercavo.
--
Ciao.
Maurizio


Beccati questi indirizzi:
http://aleax.supereva.it/
http://medialab.di.unipi.it/web/IUM/Programmazione/MFC.doc
http://medialab.di.unipi.it/web/IUM/Programmazione/Windows.doc
In caso non ti siano utili, puoi essere piu' specifico nella richiesta?
Maurus

 In caso non ti siano utili, puoi essere piu' specifico nella richiesta?
Nella mia risposta a Valter Minute, ho cercato di essere un po' più preciso.
Se puoi essermi utile...ti ringrazio
Per intanto, mi guardo i link che mi hai passato.
Grazie.


 
Puoi provare a utilizzare un hook (SetWindowsHook/SetWindowsHookEx) 
per intercettare i messaggi dell'applicazione.
A questo punto dovresti intercettare i messaggi potenzialmente 
"dannosi" (WM_COMMAND se si tratta di menu e pulsanti).
L'utility Spy++ di Visual C++ può esserti molto utile per trovare i 
messaggi, gli ID collegati e le finestre da controllare.
Tieni però presente che una soluzione di questo tipo è abbastanza 
complicata da realizzare (sicuramente troverai un utente che riesce a 
far danni in modo nuovo e creativo ogni volta che gli blocchi quello 
precedente) ed è fortemente vincolata all'applicazione "ospite" sia 
come versione sia come lingua di installazione (se devi ricorrere ai 
titoli di finestre, bottoni e menu).


 "trucchetti" non proprio semplici.
Preciso che sia C++ Builder che Delphi consentono di gestire
direttamente i messaggi, senza "trucchetti" troppo complicati.
Newsgroup: it.comp.programmare.win32
Titolo: Macro AFX_EXT_CLASS in VC++

Salve a tutti,
da MSDN è tutto chiaro, ma dal sorgente non troppo.
Ho 2 librerie MFC Extension, la prima esporta intere classi grazie alla
macro in oggetto
l'altra usa questa libreria ma esporta solo funzioni.
Ora la mia domanda è questa:
Dalle direttive di precompilazione, AFX_EXT_CLASS importa o esporta classi e
funzioni, ma i due progetti sono identici(MFC Extension con _AFXDLL e
_AFXEXT) quindi alla compilazione della prima DLL questa macro assume il
valore di "export" ma anche quando compilo la seconda, secondo me,
AFX_EXT_CLASS assume "export".
Perciò mi domando come faccia la seconda DLL ad importare le classi della
prima DLL.
Rileggendo non credo di essere stato abbastanza chiaro,spero di aver reso il
concetto e il dubbio che mi sto ponendo
Grazie
JoGiò

 concetto e il dubbio che mi sto ponendo
Sei stato chiaro invece. Provo a dire la mia:
anche secondo me AFX_EXT_CLASS assume "export", poi però il linker si
accorge che è una cavolata
e modifica in maniera trasparente da "export" a "import".
Potrei sbagliarmi ovviamente.
Il meccanismo di Microsoft di importazione/esportazione con AFX_EXT_CLASS a
me non piace
per niente. Funziona bene ed è comodo solo per un livello di DLL (un EXE che
carica le DLL).
Ma se hai dei livelli intermedi di DLL viene fuori un gran casino.
Porlock.
Ciao


Il fatto che il linker si accorge che .... non mi sebra una bella cosa e non
credo che faccia questo
ma AFX_EXT_CLASS, quando č in libreria, assume sempre export.
Nemmeno a me piace tanto sta soluzione, infatti uso definire direttive con
il nome del file o della classe
cosě facendo in un'altra libreria la mia define assume import
Grazie
Ciao
Newsgroup: it.comp.programmare.win32
Titolo: Help per applicazione multilingua

Dovrei scrivere un applicazione multilingua in VC++ 6.0 (con MFC) ed il 
rispettivo help: sono in grado di caricare le risorse a seconda della 
lingua selezionata dall'utente, ma non so come fare con l'help; pensavo 
di copiare il file rinominandolo (App_IT.hlp -> App.hlp), ma mi chiedevo 
anche se esiste un metodo migliore .....
Grazie
Info


Il modo più veloce (non è detto che sia il migliore, anzi) che mi viene
in mente è mettere una risorsa stringa con il nome del file di help (o
le informazioni per raggiungere il file di help).
Inserendo informazioni differenti per le varie lingue, e recuperandole
in base alle impostazioni della lingua dell'utente, puoi recuperare il
file corretto senza problemi.
La cosa dovrebbe essere semplice dato che hai già localizzato tutte le
risorse.
PSK

 lingua selezionata dall'utente
La cosa mi interessa, visto che in un prossimo futuro potrei dover 
aggiungere il supporto a piï¿œ lingue a uno dei miei programmi. Potresti 
dirmi che problemi hai incontrato e come li hai risolti?
Hai usato Unicode?
Le risorse delle varie lingue le metti in una serie di stringtables?
Hai creato dei file in cui sono contenuti i messaggi nelle varie lingue, 
e poi carichi il file giusto in base alle preferenze salvate dall'utente?


Così dovrei aprire il file di help con ShellExecute o simili; 
normalmente associando ai messaggi ID_HELP_FINDER e simili, 
l'applicazione cerca l'help con lo stesso nome dell'applicazione (per 
quello pensavo di fare una copia del file) e, praticamente senza usare 
altro che CFrameWnd::OnContextHelp() e simili, si ha anche la 
possibilità di avere il context help, che è quello che vorrei fare io.
Non so se ci sono altre possibilità ..................
Grazie
Info

 e poi carichi il file giusto in base alle preferenze salvate dall'utente?
No. Solo l'insieme di risorse (dialog, stringtable, etc) contenute nelle 
DLL.
Ciao
Info
Newsgroup: it.comp.programmare.win32
Titolo: VC++ 6.0 bug?

Ciao a tutti,
Nel mio programma ho questa semplicissima funzione che non fa altro
che riempire un array di int con 6 valori presi da un array di double
moltiplicati * 100 e con il loro complemento a -1
[...]
double Formula[6][3]
int BufferFormula[12]
[...]
for (int i=0; i<6; i++) {
  BufferFormula[i] = (int)(Formula[i][0]*100);
  BufferFormula[i+6] = BufferFormula[i] ^ 0xFFFF;
}
il tutto funziona benissimo ma...
se Formula[i][0] vale 8.12 incredibilmente BufferFormula[i] diventa
uguale a 811 ?!?!? :-)
Con qualsiasi altro numero invece il calcolo è corretto...
Qualcuno riesce a capire come mai?
Ciao
Francesco

 Con qualsiasi altro numero invece il calcolo è corretto...
Purtroppo ce ne sono molti altri. ^^;;;
Alcuni numeri NON possono essere rappresentati, l'unica e' usare
BIGNUM.C (cerca con google anche Multiple Precision Arithmetic)
a discapito della velocita' perche' in pratica bisogna usare delle
stringhe...
--
-=[]=- 
ian...@libero.it
 -=[]=-
Now working... seeh ;-)

 Qualcuno riesce a capire come mai?
Un'altra cosa: ho provato aggiungendo .000000001 (con numero di '0'
decisi arbitrariamente) al 8.12 e i risultati vengono come uno ci si
aspetta. L'importante e' che poi si lavori sull'intero.


stringhe...
Grande! E le ho pure studiate ste cose ma proprio non ci ho pensato!!!
In ogni caso VC6 mi ha tradito perchè io mi fidavo del valore che mi
faceva vedere nella finestra variabili durante il debug che era
8.120000000 e non 8.119999...  :-( 
In ogni caso non riesco a spiegarmi perche' se converto il double in
stringa e poi la stringa in intero il tutto funziona!! 
In ogni caso grazie!
Ciao
Francesco

 stringa e poi la stringa in intero il tutto funziona!! 
Esperienza, è solo questione di esperienza... Anche sul C64 c'erano 
questi problemini... vi ricordate quanto valeva sqr(9)???
8)
-- 
Luc.

>>>>> 
ian...@hotmail.com
 <<<<<<
-=[]=--------iAN CooG-------=[]=-

 questi problemini... vi ricordate quanto valeva sqr(9)???
li' il problema era l'elevamento a potenza
9^2 dava 81.00000000001
non il contrario.
cmq sempre lo stesso problema di rappresentazione binaria
e probabilmente dovuto all'aggiunta di arrotondamento (...01)


 cmq sempre lo stesso problema di rappresentazione binaria
Che quindi esiste da sempre e sempre esisterà 8)
-- 
Luc.
Newsgroup: it.comp.programmare.win32
Titolo: accesso ai files

Salve,
vi espongo rapidamente il mio problema (la cui soluzione è sicuramente banale):
all'interno di un'applicazione scritta con il Builder C++ 5 ho bisogno di 
accedere ad un file di testo estraendo un char per volta. Ho deciso di 
usare le API di windows per farlo, in particolare CreateFile e ReadFile. Il 
problema è che ReadFile sembra non accorgersi dell'EOF quando arrivo alla 
fine del file. Faccio presente che sto lavorando su piattaforma Win 2000, 
se può essere utile.
Grazie per la collaborazione!!!
Giuseppe 
--
Posted from [213.255.37.65] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

usare le API di windows per farlo, in particolare CreateFile e ReadFile. Il 
Perche' non usi la libreria standard del C++ ?
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

 Giuseppe
Per quello che so ReadFile ritorna non-zero in caso di errore.
Tieni presente che ritorna non-zero anche in caso di EOF, perché EOF non
viene considerato errore.
Per sapere se hai raggiunto l'EOF devi controllare il parametro LPDWORD
lpNumberOfBytesRead che ti dice quanti bytes hai letto.
Porlock.


Grazie per la collaborazione!!!
in Delphi, similissimo al tuo C++ Builder, uso in genere una classe per
lavorare con i file anche se ha volte ho usato le API, ma molto raramente.
Al limite se proprio vuoi insistere con la "ReadFile", potresti fare un
ciclo che termina quando è finito il file. Magari puoi fare un ciclo che
parte dal primo byte ed arriva all'ultimo. Qual'è l'ultimo ?
Bè l'ultimo può essere il byte che rappresenta la dimensione del file
stesso. Quindi sempre tramite le API, puo usare la "GetFileSize" che ti
restituisce la dimensione del file e quindi il numero dei byte contenuti.
A questo punto sai quando termina il file, cioè quando la ReadFile legge
l'ennesimo (ultimo) byte.
Poi la ReadFile è una funzione e quindi restituisce un valore. Se leggi
meglio l' SDK e dai un'occhiata all'esempio in C che segue la descrizione,
mi pare che è trattato pure il caso della fine del file. Poi leggi la
sezione "Return Values" che ti dice qualcosa, cioè:
===================================
if the function succeeds, the return value is nonzero.
if the return value is nonzero and the number of bytes read is zero, the
file pointer was beyond the current end of the file at the time of the read
operation. However, if the file was opened with FILE_FLAG_OVERLAPPED and
lpOverlapped is not NULL, the return value is FALSE and GetLastError returns
ERROR_HANDLE_EOF when the file pointer goes beyond the current end of file.
If the function fails, the return value is zero. To get extended error
information, call GetLastError.
===================================
Per ora ti saluto, buon lavoro, anzi, buona scelta del sistema da adottare.
Ciaooo !!!
Antonio Tarolla
Newsgroup: it.comp.programmare.win32
Titolo: Comunicazioe tra processi c++

Sono abbastanza inesperto in materia perciò cercate di parlare meno tecnico
possibile...
vorrei fare un programma che fa in modo che ad un altro programma(già fatto)
vengano inviati dei caratteri come se li stessi scrivendo nel secondo
prog...come si fa???
Grazie anticipate

 possibile...
http://www.vbsimple.net/index.htm?/activity/act_23_2.htm
è scritto in vb ma le funzioni dell'api hanno cmq lo stesso nome e nello
specifico guarda sendmessage con wm_char
ciao

Newsgroup: it.comp.programmare.win32
Titolo: chiamare interrupt

salve,
quale può essere l'alternativa a chiamare un'interrupt da windows ? per
quanto so io non è possibile
ma allora se mi servono dei "servizi" svolti da alcune di queste funzioni,
come posso fare ?
p.s
Per la precisione devo chiamare l'interrupt 13 funzione 10h per avere lo sto
dell'hd
grazie ciao.


--------------------------------
Inviato via 
http://arianna.libero.it/usenet/
Newsgroup: it.comp.programmare.win32
Titolo: Sistemi operativi e Fortran

 
          Salve a tutti,
mi sto avvicinando al Fortran scrivendo dei semplici programmini in ambiente
windows usando il compilatore f77 gratuito Force 2.0 . La mia domanda e'
questa:
uno stesso programma puo' girare indifferentemente su sistemi operativi
diversi?
Chiedo scusa a quanti potra' apparire banale il mio quesito
Grazie
Luca
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Dovrai ricompilare il tuo sorgente su un compilatore per la
piattaforma che ti interessa.
Ad esempio puoi usare Force per windows e l'intel fortran compiler
(che non č gratuito) per linux.
Ste.


 diversi?
Se per S.O. diversi intendi quelli della famiglia Windows
(NT, XP, 98, Me), ci sono buone probabilita' che uno stesso
programma venga eseguito su tutti i S.O. senza modifiche e
senza necessita' di ricompilare: basta evitare di usare funzioni
spefiche di una certa piattaforma (es. NT supporta unicode, win 9x
no, se usi funzioni specifiche per il supporto di Unicode, questo
programma su Win 98 e ME non funzionara').
Se per S.O. diversi intendi Windows e Linux, i problemi sono di
diversi ordini grandezza maggiori. Come minimo e' necessario
ricompilare il programma, ma questo e' veramente il minimo.
E' molto probabile che il compilatore che usi, non sia disponibile
per Linux, pertanto se hai usato estensioni specifiche di un
compilatore che non esiste per l'altra piattaforma, il programma
non e' portabile, e lo e' ancora meno se hai usato delle chiamate
specifiche del S.O. (Su Linux non esiste CreateWindow())
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 diversi?
Oltre a quanto giustamente scritto da Angelo Paolitto, tieni conto che: 
a. il codice Fortran e' portabile (finche' non usi GUI o estensioni 
particolari)
b. il codice Fortran deve essere *ricompilato* su sitemi operativi di 
famiglie diverse (es.: Linux vs Windows)
c. in un programma, la parte meno portabile e' quella relativa alla GUI. 
Pertanto, per rendere il tuo programma quanto piu' portabile possibile, 
puoi dividerlo in due sottosistemi:
  1. Il "kernel" del programma, che fara' calcoli matematici (altrimenti 
non si capisce perche' usi Fortran :) molto performanti; questo e' 
portabile, e devi solo ricompilare sulla nuova piattaforma.
  2. La GUI puoi realizzarla in Java (o in C++ con librerie 
multipiattaforma, come wxWindows o GTK+ ...), cosi' da avere codice 
portabile anche per questo settore. 
Quindi fai comunicare i due sottosistemi.
...pero', sinceramente, questi argomenti qui mi sembrano decisamente 
OT... dovresti provare ad es. su comp.lang.fortran.
Ciao,
Dan
Newsgroup: it.comp.programmare.win32
Titolo: HINSTACE E HWND

Ciao a tutti,
ecco il mio problemino:
apro un programma con ShellExecute ed ottengo una HINSTANCE ma a me' serve
anche la HWND della nuova finestra; esiste una API che prende la HINSTANCE e
mi restituisce la HWND???
Grazie, Andrea.

 ha scritto nel messaggio
news:a4av5t$2k3$1...@newsreader.mailgate.org...

Direi di no... però se conosci il nome della classe e della finestra puoi
usare HWND FindWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName), o
FindWindowW (per l'unicode).
Il nome della finestra (il titolo, quello che ottieni con GetWindowText) è
facoltativo, mentre la classe è tassativa, quindi la devi conoscere.

Newsgroup: it.comp.programmare.win32
Titolo: chiedo aiuto ad un programmatore...

Ciao a tutti, è la prima volta che scrivo in un newsgroup.....quindi
scusatemi se sbaglio qualcosa.
Sono uno studente quindi la mia conoscenza di programmazione (sia Assembly
che C / C++ / Vbasic ) è piuttosto scarsa ed essenziale, ma ai fini di
quanto vi chiedo, adeguerò le mie conoscenze.
Ho bisogno di un consiglio :
vorrei creare un software che consenta di inglobare all'interno di un file
EXE, senza corromperlo, un qualsiasi file in input. Non è rilevante di
quando il file EXE possa crescere di dimensione, l'importante che continui
ad essere funzionale.
Per favore qualcuno mi potrebbe dare un aiuto ?
Grazie anticipatamente...
Luca S.

 ha
scritto:

sul sito di ms o in giro per la rete trovi informazioni sulla
struttura dei file PE, quello che dovresti fare è aggiungere una
sezione dati in coda al file, inserirla nell'header del file exe e
niente risulterà corrotto

 ad essere funzionale.
Non so se può servire, ma avendo appena finito di scrivere codice per creare
pacchetti autoestraenti, posso spiegarti come ho fatto:
1) Fai un programma A che apra in lettura binaria se stesso, legga 4 bytes
(o quello che vuoi) alla fine di se stesso e copi a parte in binario tutto
quello che c'è tra il contenuto dei 4 bytes finali (per esempio in formato
unsigned int) e la dimensione di se stesso escludendo i 4 bytes finali.
2) Fai un programma B che copi in binario tutto A, gli aggiunga il file che
vuoi inglobare e poi scriva nei 4 bytes finali la dimensione del programma
A.
3) Fai partire B creando così un nuovo programma A in grado di estrarre il
file inglobato.
PS. I 4 bytes sarebbe meglio diventassero 8 o più (magari aggiungendo una
tag da controllare per evitare che lanciando A da solo al passo 1 si creino
inutili disastri.
Chiaramente, leggendo quello che ho appena scritto sembra tutto complicato,
ma in realtà è più facile farlo che spiegarlo. Il concetto base (che
neanch'io conoscevo) è che è possibile aggiungere dati a un eseguibile senza
corromperlo.
PS2. Non so se questo procedimento è ortodosso: io l'header dell' exe non
l'ho toccato.
Newsgroup: it.comp.programmare.win32
Titolo: Mostrare form

[CODE]
int CWinWindget::Run
(
    HINSTANCE hInst,
    HINSTANCE hPrevInst,
    LPSTR     lParam,
    int       Show
)
{
    m_hThisInstance= hInst;
    m_hPrevInstance= hPrevInst;
    m_lpszCmdParam= lParam;
    m_nCmdShow = Show;
    WNDCLASSEX m_wndClass;
    m_wndClass.hInstance = hInst;
    m_wndClass.lpszClassName = "CWinWindget";
    m_wndClass.style = 0;
    m_wndClass.cbSize= sizeof(WNDCLASSEX);
    m_wndClass.hbrBackground=(HBRUSH)COLOR_HIGHLIGHT;
    m_wndClass.lpszMenuName=0;
    m_wndClass.cbClsExtra = 0;
    m_wndClass.cbWndExtra = 0;
    return 0;
}
[/CODE]
Cosi creo una form..........ma come la mostro?

 [/CODE]

imho cosě nn fai 1 bel niente...
hai semplicemente compilato una struttura WNDCLASSEX e l'hai lasciata lě...
quantomeno alla fine, prima di return 0 ci dovresti inserire:
RegisterClassEx(&m_wndClass);
CreateWindowsEx(0, m_wndClass.lpszClassName, "Una bella finestrona, di
quelle grosse", WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT, 0, NULL, NULL, hInst, NULL);
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


AHHHHHH
credevo che nessuno più utilizzasse queste antichità!!! ;-)
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Newsgroup: it.comp.programmare.win32
Titolo: un'altra semplice domanda...

conosco un po' di HTML...
ma mettiamo volessi, per esempio, far rimbalzare una pallina dentro alla
finestra di explorer, l'html non mi basterebbe piu'...
cosa dovrei usare?



Hai già postato una domanda molto simile a cui hai avuto risposta,
impara Java o Flash e spostati nei ng che ti sono stati indicati dove
soprattutto avrai anche più possibilità che ti risponda gente che
conosce la soluzione ai tuoi problemi.
-- 
Marco Barisione (ICQ 84277092)

si, hai ragione...
speravo che cose piu' semplici di un gioco non necesitassero per forza di
sapere java (che non e' che sia proprio una sciocchezza)
scusa, e grazie 1000
bye

 ha scritto nel messaggio
news:1huk7.63906$vC1.9...@news1.tin.it...

Se uno vuole limitarsi solo a Interet Explorer c'e' anche il Dynamic HTML
(DHTML)...che permette di muovere e applicare effetti su oggetti presenti
nella pagina...si può utilizzare attraverso Javascript o VBScript con script
client-side...
Ma è sicuramente meglio Flash ;-)
Ciao
        Riccardo

Newsgroup: it.comp.programmare.win32
Titolo: GetHistance

Ciao,
vorrei prendere l'istanza del progrtamma corrente,come poso fare?
esiste un GetHistance?
""        un getHwnd?
Grazie.
Nik

 ""        un getHwnd?
EnumThreadWindows ti permette di enumerare le
zero o piu` finestre (top level) di un particolare thread, 
ad esempio il thread corrente (basta passarle come
primo argomento GetCurrentThreadId()).  Dovrai
scrivere una piccola funzione di call-back che verra`
chiamata per ciascuna di codeste finestre (0 o piu`
volte, dunque).
Alex

> Ciao Alex,
ti ringrazio molto per l'informazione.  ^--^
Niccolo'
-------------------------
-------------
-----

Newsgroup: it.comp.programmare.win32
Titolo: Pulsantino

Ciauz a tutti,
starei reversando un piccolo programma di casa micro$oft e vorrei aggiungere
un pulsante supplementare sulla barra in alto della finestra del programma
(vicino a quelli di massimizzazione minimizzazione e chiusura) ma non so
come fare.....parlando in termini di programmazione (poi al reverse ci penso
io :) come si fa ad aggiungere un terzo pulsante? tipo quello del getright
grazie a tutti
ciauzzzzzzzzz
Quequero

altri messaggi WM_NC..., tipo WM_NCLBUTTONDOWN ecc.
Cosa intendi?
E' vero che quei simboli sono contenuti in un font apposito (Marlett
se non erro) ma credo che si tratti comunque di pulsanti!
O mi sbaglio?
TobiX
-- 
TobiX, ovvero piů virtualmente:
to...@iname.com
  -  
www.icq.com/12392232
Super fan di Gen13, Lene Marlin e altri personaggi piů o meno reali.

 O mi sbaglio?
"Ti sbagli" nel senso che non sono dei "controlli" ("pushbutton"
in inglese, che si tradurrebbe "pulsanti" in italiano); *sembrano*
cosi` all'utente, ma non lo *sono* come realizzazione da parte
del programma -- non sono controlli, non sono finestre separate.
Verifica con Spy++ o simile, e` facile.
Alex

Verifica con Spy++ o simile, e` facile.
Cavoli, hai ragione!
Non sono finestre!
Ma tu guarda...


Newsgroup: it.comp.programmare.win32
Titolo: Interesting problem

hello,
In one of my applications I need to force the browser which is
navigating through a particular application to load the page which I
want( Afcource both my browser and application are in the same m/c and
different processes).
Basically I need to catch the particular instance of browser which is
navigating a particular server( In simple terms whose addressbar is
somethinglike 
www.mypattern.com
) and  force the browser to load a
error.asp from the same site. FOr that I need to catch the instance of
IE/ NS browsers which are running currently  find what they are browsing
on and then force the same to load error.asp. Can anybody suggest me how
to achieve the same. A email to my a/c will be greatly appriciated.
regards
suresh

 
Serve un "Browser Helper Object",
http://msdn.microsoft.com/library/techart/bho.htm
per un eccellente articolo (in Inglese) di Dino Esposito sull'argomento
stesso
(ci sono altri approcci ma questo e` il piu` solido).
Alex
Newsgroup: it.comp.programmare.win32
Titolo: warning in C++ Builder 3

Utilizzando la classe TChartfx per graficare della serie storiche ,pur
funzionandomi (sembra) perfettamente
mi da sempre il seguente warning :"Conversion may lose significant digits".
Come posso eliminarlo?
Si riferisce alla conversione da Delphi a Builder ?(?)

Si riferisce alla conversione da Delphi a Builder ?(?)
Si riferisce, probabilmente, a un cast un po' troppo azzardato.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
-----------------------------------------------------
"There is nothing better for understanding a kangaroo
 than seeing it jump." [D.Grune, C.J.H. Jacobs]
-----------------------------------------------------


L'esatta istruzione in cui mi da il warning è : Chartfx->ThisSerie = 0;

> L'esatta istruzione in cui mi da il warning è : Chartfx->ThisSerie = 0;
Dovrebbe essere un'operazione lecita, il mio c++Builder inoltre non mi da
warning..
E sono andato ora a guardare non ne ho disabilitato.
Io utilizzo c++Builder 4. Se hai controllato tutto bene potrebbe essere una
stranezza poi corretta.

Newsgroup: it.comp.programmare.win32
Titolo: Tavoletta grafica

Salve a tutti,
stiamo sviluppando un programma che usufruisce di una tavoletta grafica.
Abbiamo tutti gli elementi tranne la conoscenza di come venga interpretato
da windows il comando di pressione applicato alla penna.
Nessuno saprebbe dirmi come viene gestito questo input?
Grazie in anticipo per le risposte.
DcF

Credo dipenda dai driver della tavoletta.
La mia invia click del mouse alla pressione della penna.
Ciao
Ph.

Questo lo so anch'io, ma visto che i driver non si riescono a decompilare,
bisogna capire che tipi di input trasmettono al sistema per ricrearli ex
novo.
"Phones" <Phon...@dontsendme.spam> ha scritto nel messaggio
news:g7d95vs5deov6kj4o...@4ax.com...


novo.
Non ti conviene maneggiare questo semplice evento?
La tavoletta grafica che ho, si collega sulla ps2 del mouse, e si
comporta ESATTAMENTE, come una periferica di puntamento..
Ph.

Quindi hai sviluppato un programma, e come gli hai detto di interpretare il
driver di pressione della tavoletta?
I driver infatti non riprendono le APIstandard di windows.....es. le
tavolette, genericamente non riescono a variare la grossezza del tratto in
programmi base come paint.
Inoltre, non si comporta esattamente come una normale periferica di
puntamento, altrimenti anche con il mouse sarebbe possibile variare la
grossezza del tratto in relazione a determinati eventi.
"Phones" <Phon...@dontsendme.spam> ha scritto nel messaggio
news:es0a5vcdcd2uug0oa...@4ax.com...


Beh,  la mia e' una tavoletta molto stupida, (un pņ come quella del
bagno :p ) ed ha solo 2 tasti, la punta della penna (sx) e nel manico
(dx); non prevede alcuna regolazione tratto o similari.
Regolazioni di questo tipo le faccio via software.
Perche' non chiedi qualche info al produttore della tavoletta?
CiaoCiao
Ph.

 Beh,  la mia e' una tavoletta molto stupida, (un pò come quella del

Newsgroup: it.comp.programmare.win32
Titolo: recuperare handle main window

ciao,
lancio un programma creato da altri con CreateProcess(...)
come posso trovare la handle della main window di questo processo?
io ad es ho usato winHandle = FindWindow(NULL, "Tastiera su schermo");
ma si deve conoscere il nome che compare sulla window (se win e' in inglese 
cambia!)
invece winHandle = GetForegroundWindow(); non va perche' devo attendere
che sia visualizzata in foreground e l'attesa dipende dal programma.
altre idee?
grazie
GCL 

cambia!)
Usa FindWindow ("nome della classe",NULL). Il nome della classe
non cambia se il programma viene lanciato in un'altra lingua.

 non cambia se il programma viene lanciato in un'altra lingua.
scusa l'ignoranza, ma che classe metteresti per l'On Screen Keyboard?
e per un generico programma fatto da terzi, come la trovo?
(supponi di voler lanciare SPIDER oppure WORD per dire...)
GCL 


Puoi usare ad esempio Spy++ per scoprire il nome della classe.

 come posso trovare la handle della main window di questo processo?
Non so se può servire, ma recentemente ho avuto modo di fare un programma 
che chiude in modo pulito (senza usare ::TerminateProcess(...)) un programma 
lanciato con createProcess(...).
In realtà però a te serve l'handle della main window... io non ho una 
risposta definitiva... (a meno di catturarla con ::GetForegroundWindow(...) 
con un ciclo di alcuni secondi dopo ::CreateProcess(...) (puoi confrontarlo 
con l'handle del tuo programma per non sbagliare).
Forse se vuoi solo inviare messaggi puoi provare con:
::PostThreadMessage(processInfo.dwThreadId,WM_CLOSE,0,0);   (processInfo 
ritorna da ::CreateProcess(...))
Concludendo, se vuoi sapere solo come ho fatto a chiudere in modo pulito un 
programma:
Basta chiamare questa API:
::EnumWindows((WNDENUMPROC)TerminateAppEnum,(LPARAM) 
processInfo.dwProcessId) ;
e definire questo metodo statico:
static bool CALLBACK TerminateAppEnum(HWND hwnd,LPARAM lParam)
{
DWORD dwID;
::GetWindowThreadProcessId(hwnd,&dwID);
if(dwID==(DWORD)lParam)
      {
      ::PostMessage(hwnd, WM_CLOSE, 0, 0) ;
      }
return true;
}
Non so se servirà, ma volevo collaborare!

Newsgroup: it.comp.programmare.win32
Titolo: CString::Format

Salve a tutti
come si inserisce lo '0' nella funzione in oggetto?
Cioč
se n = 10 voglio ottenere la stringa 010;
se n = 5 volgio ottenere  005
se n = 150 voglio ottenre 150.
LA funzione in oggetto lo fa?
come?
in VB esiste la Format...
grazie
JoGiň


Ho scherzato, scusate ho risolto
bye

Newsgroup: it.comp.programmare.win32
Titolo: BCB come faccio a non muovere i controlli quando cambio risoluzione?

Uso Builder4
Se posto il progetto da casa (uso caratteri grandi) all'univ. dove ci
sono i caratteri piccoli, mi sposta tutti i controlli e le dimensioni
della form!
Come fate voi?
-----------------------------------------
La vita e' l'opera di un regista mediocre
e di un cattivo sceneggiatore

Come fate voi?
Se ben ricordo devi mettere su true la proprietà Scaled della/e form.
TobiX
-- 
TobiX, ovvero più virtualmente:
to...@iname.com
  -  
www.icq.com/12392232
Super fan di Gen13, Lene Marlin e altri personaggi più o meno reali.
Newsgroup: it.comp.programmare.win32
Titolo: Consiglio:iniziare ad imparare C# o VisualC

Buongiorno a tutti, volevo un consiglio da voi, volevo iniziare ad imparare
un nuovo linguaggio(programmo in VB e RPG/AS400) e incuriosito dalle cose
che leggo sui vari forum, dove dicono che 'C' è un linguaggio per
[programmatori], il quale ti permette di fare qualunque cosa
etc....(ovviamente se ne sei capace).
Volevo comprarmi un libro su questo linguaggio, però o visto anche dei libri
su C# e sinceramente,non so se sia meglio incominciare con un linguaggio
ex-novo o con uno già avviato.E già che ci siamo vi pongo un altra ipotesi
perchè non VBNet, visto che da quello che dicono a migliorato di molto il
vecchio VB.
Scusate per il disturbo, ma vi sarei grato se poteste darmi qualche
consiglio.Grazie.Andrea

 consiglio.Grazie.Andrea
C++ è ad oggi il linguaggio che fa più curriculum... è poi se padroneggi 
quello li puoi padroneggiare tutti...
-- 
Luc.

vecchio VB.
Sono d'accordo con Luc ma magari farei un pensierino a studiare anche
VB.Net visto che conosci giŕ VB.
-- 
Marco Barisione (ICQ 84277092)
Newsgroup: it.comp.programmare.win32
Titolo: testo scritto perde fromattazione

 
 
Ciao
 
Ho scritto un semplice programma C console, compilato con MinGW, che copia
dalla clipboard del testo e lo scrive in un file.txt. aprendolo con fopen.
 
Il testo che scrive, per�, perde la formattazione. Cio�, e solo una lunga
linea dei caratteri, mancando gli a capo, i return, ...ci sono invece tab e
gli spazi!
 
/***
char *y, *z;
 
int size;
 
if (OpenClipboard(hwnd)==0) return NULL;
 
htext=GetClipboardData(CF_TEXT);
 
if (htext==0) return NULL;
 
size=GlobalSize(htext);
 
z=malloc(size);
 
if (q==NULL) return NULL;
 
y=GlobalLock(htext);
 
memcpy(q,p,size);
 
***/
 
ho provato anche con CF_OEMTXT  E UNICODE, ma non e servito a nulla.
 
Mi sapete dare chiarimenti?
 
 
Ciao
 
 
 
 
 
 

aggiungo che, se stampo sulla console, il testo, copiato dalla clipboard,
mantiene
la formattazione, tipo:
 
akjdjdsmls, asjddls djdos apskj
ajdid fogfgf kdldpd, fhfdoana
ajskdkd kpsosjsandkc vksoaj
dnjdosns, fhsioshs, vpfodjs, gngf
shjds.
 
 
Ciao
 
 
 

 Mi sapete dare chiarimenti?
 
ciao.
Puoi postarci anche il codice in cui scrivi nel file .txt ?
E' possibile che l'errore sia li', non e' che salti un carattere
nella scrittura e il carattere che salti e' proprio il return?
 
ciao
Giacomo

 
 
La scrittura e una semplice, aprire il file in formato, "w"
 
e con fprintf, o fputs, scrivere il testo copiato dalla clipboard.
 
Quando guardo il testo copiato nella clipboard, prima di avviare il
programma, il testo e formattato, cio� ha i return, ed � come lo vedo
a video.
 
Adlfmsidn soajd, gjsoreun
fksisn, gkdjs.
akdjdisl, gogjdj ; djfog0
Aldkfoif!
 
Ma quando lo scrivo nel file, e solo una lunga linea di caratteri:
 
Adlfmsidn soajd, gjsoreun f ksisn, gkdjs. akdjdisl, gogjdj ; djfog0 
Aldkfoif!
 
Mantiene gli spazi, ma non ci sono i return! i new line.
 
 
/**
 
FILE *p;
 
char *clipboard;
 
 
clipboard=copiadaclipboard();
 
p = fopen("File.txt", "w");
 
fprintf(p,"%s\n",clipboard);
 
 
fclose(p);
 
**/
 
 
 
 
 
 
 
 

 
 
Aggiungo che, anche quando lo stampo sullo stdin, sul video della console, 
mantiene
la formattazione.
 
Ciao 
 
 

 La scrittura e una semplice, aprire il file in formato, "w"
 
Prova con "wt", serve per aprire il file in modo testo e non binario.
 
ciao
Giacomo

 ha scritto nel 
messaggio news:569f309d-3164-49a6...@googlegroups.com...

No, con "wt", scrive come prima, con "wb", scrive mantenendo la forma.
 
Ciao 
 
 


 
Probabilmente devi convertire i caratteri di ritorno a capo nella coppia 
\r\n.
 
HTH,
 
-- 
Stefano Frosio
www.esse-effe.com
 


 
come fai a vedere in un editor questi caratteri speciali?
Utilizzo Scite, e i fine linea, sono: CRLF.
Anche con Geany, sono le stessa cosa.
 
Ciao
 
 
 
 

 come fai a vedere in un editor questi caratteri speciali?
 
Con un editor esadecimale?
 
-- 
Stefano Frosio
www.esse-effe.com

Newsgroup: it.comp.programmare.win32
Titolo: Creare una cartella.

 dorato... segui i......
Che hai il PC con l'eco?
Luigi

Perché, non lo sto facendo?
Ora si', perche' te l'ho impostato io.
-- 
Andrea Laforgia - walkietalkie(at)
libero.it
Newsgroup: it.comp.programmare.win32
Titolo: DDK

Qualcuno sa se il Microsoft DDK si possa trovare anche su internet? Vorrei
provare a scrivere una specie di CPUIdle e ho bisogno del ddk per scrivere
un piccolo vxd... uso il Borland C++ 4.5...

 wrote in message
news:f44b5.1035$y11....@news.infostrada.it...


 un piccolo vxd... uso il Borland C++ 4.5...
Penso che sotto a Win9x l'istruzione HLT si possa chiamare
tranquillamente anche da user mode.
[1] Infatti se si accorgessero di quanto e` demenziale scrivere driver
per Linux... :-)
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

Qualcuno sa se il Microsoft DDK si possa trovare anche su internet? Vorrei


 
Il DDK (sia quello per Win98 che quello per Win2000) lo trovi sul sito 
della Microsoft.
Per quanto riguarda poi il compilatore, il DDK supporta solo il VisualC 
(strano :). In internet ci sono delle note sull'uso combinato di 
compilatore Borland e DDK (prova a fare una ricerca con il google).
Ciao
Pietro
-- 
Pietro F. Maggi                             pietromaggi AT libero DOT it
http://pietromaggi.50megs.com/
 
La pedina è il pezzo più importante degli scacchi...per la pedina

Newsgroup: it.comp.programmare.win32
Titolo: ODBC e la creazione dei DSN

Sto' creando una procedura di Setup automatizzata che deve (tra le
altre cose), creare una DSN di ODBC. Ho utilizzato SQLConfigDataSource
per generare la DSN, ma ho uno strano problema: su una macchina
(driver ODBC versione 2.7), funziona tutto correttamente, su un'altra
macchina (driver versione 2.5, la DSN viene creata ma uno dei
parametri (il nome del database) e' mancante. Ritengo quindi che sia
un problema di driver, solo che non ho idea di come aggirarlo. Un
qualche modo ci deve essere.
Questo e' il pezzo di codice che utilizzo:
char *par;
par = malloc(1024);
if( par == NULL )
	return -1;
memset( par, 0, 1024 );
memcpy( par, "BufferSize=40000\0CatalogCap=1\0ConnectString=", 45);
memcpy( par + 44, database, strlen( database ) );
memcpy( par + (44 + strlen( database )),
"\0Description=TUSS\0DSN=TUSS\0NumberFloat=0\0", 42 );
memcpy( par + (44 + 41 +strlen( database )),
"PWD=DEMO\0RDOSupport=0\0Remarks=0\0RowLimit=0\0SynonymColumns=1\0SystemTable=1\0TranslationDLL=\0TranslationName=\0TranslationOption=\0TxnCap=1\0UID=DEMO",
144 );
if( ! SQLConfigDataSource( NULL, ODBC_ADD_SYS_DSN, "Microsoft ODBC for
Oracle", par) )
	return GetError( );
else
	return 0;
Premetto che ho gia' provato ad usare "Database" al posto di
ConnectString, ma al driver non piace.
Qualche idea ?
Davide

E mi rispondo anche da solo:
Il parametro "Server" nella stringa dei parametri funziona su entrambi
i driver, mentre il parametro ConnectString e' accettato solo dai
driver versione 2.6 o superiore.
Davide