mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.delphi
Titolo: Problema con DBGrid

Un saluto a tutti prima di esporre il problema,
ho due file in relazione, potremmo dire per esempio "ARTICOLI" e "ALIQUOTE",
l'archivio Articoli contiene il CodIva, l'archivio Aliquote il CodIva e la
Descrizione.
Vorrei visualizzare in una DBGrid, i dati relativi all'Articolo, il CodIva e
la sua decodifica (Descrizione).
I due file nella Form sono in relazione, infatti quando mi muovo sulla
DBGrid,
nelle DBEdit usate per visualizzare i dati i valori sono corretti.
Ho definito un campo di Tipo Lookup, ma mi visualizza solo i dati
dell'ultimo record del file ALIQUOTE.
Grazie per ogni suggerimento.

Newsgroup: it.comp.lang.delphi
Titolo: BCD Overflow

In una tabella del mio database, in un campo dichiarato come decimal(16,2)
assegno durante un insert il valore 99999999999999,99. Il max di quanto
potrebbe contenere!
Come mai in lettura del campo(tramite .AsCurrency) mi viene restituito
l'errore specificato in oggetto? A qualcuno č capito questo problema con
numeri anche piů grandi?
Il database che utilizzo č Interbase 6.0

> Come mai in lettura del campo(tramite .AsCurrency)
perchè non usi .AsFloat ??
a me funziona
omerosx

Impossibile che a te funziona!
Ho fatto la prova con AsFloat e mi restiuisce un errore tipo 'AsFloat no
exists'
--

scusa se ti rispondo solo oggi. Il mio programma contiente questo pezzo:
  importo := 0;
  Case Tipo of
    0:begin
        Importo:=Query1.Fields[5].asFloat;
        if importo_rata <> 0 then
          Importo := Importo_rata;
        Str_Appo1:='(ANNO IMPOSTA: '+frm_anno.anno_gestito+'/L) (Prog.
'+Query1.Fields[12].asString+')';
        Str_Appo3:= Query1.Fields[8].asString;
        Str_Appo2:=Query1.Fields[9].asString;
        Str_Appo4:=frm_anno.anno_gestito+'/L';
      end;
ciao, omerosx

Anzi riprovando con 'AsFloat' mi dice sempre 'BCD Overflow'.
Newsgroup: it.comp.lang.delphi
Titolo: Chi è il sender?

La domanda è banale:
da tre form diversi creo un unico form.
//Da form1
form4:=Tform4.create();
//Da form2
form4:=Tform4.create();
//Da form3
form4:=Tform4.create();
Nella TForm4.create(Sender: Tobject); io devo sapere chi è il chiamante e in
base a questo fare certe operazioni. Come posso fare?
Ho provato a passare come argomento tra parentesi delle 3 create il valore
rispettivamente "form1", "form2", "form3" ma quando sono dentro la procedura
create del form4, facendo un test del tipo
If sender = form1
then
    .....
non mi funziona.
Come posso distiunguere i chiamanti?
Saluti

 then
Per quello detto sopra non capisco come possa funzionare a meno che tu
non abbia creato un nuovo costruttore in overload o reintroduce (per
sopprimere il warning dell'hide). L'unica soluzione che mi viene in
mente è quella di usare la proprietà Owner oppure creare un nuovo
costruttore che abbia anche Sender come parametro.
Antonio

Come posso distiunguere i chiamanti?
Ho avuto il tuo stesso problema:
http://snipurl.com/5o7e
Ciao
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 Ciao
Ho letto, ma delphi non implementa già qualcosa di suo per distinguere chi è
il chiamante?
Allora a questo punto creo una variabile globale nel form condiviso che
viene settata con il nome del chiamante e così ho risolto i problemi anche
se la soluzione non è per niente elegante....
Saluti

il chiamante?
Leggi bene il messaggio di Guastatore: questo distinguo lo puoi fare, ma non
nella create del form. 
A meno di fare l'override del costruttore, ma non e' quello che vuoi, vero?
Di conseguenza non ti resta che utilizzare una variabile globale che
semplifica questo concetto, oppure adottare la soluzione proposta da Arosio
nel trhread di cui ti ho dato precedentemente i riferimenti.

Newsgroup: it.comp.lang.delphi
Titolo: Aggironamento DBGRID dopo un Query per Update sui dati.

    Nella seguente Query :
                       Interrogazione.Close;
                       Interrogazione.DataSource:=DS_VDDiag;
                       Interrogazione.SQL.Clear;
                       Interrogazione.SQL.Add('Update VDdiag Set CodDiag=
:par1 where VDdiag.CodDiag= :par2 ');
Interrogazione.Params[0].asfloat:=strToFloat(A_Codice.text);
Interrogazione.Params[1].asfloat:=strToFloat(Da_Codice.Text);
                           try
                             Interrogazione.ExecSQL;
                           except
                           on E: Exception do
                          if not (E is ENoResultSet) then
                             raise;
                          end;
Guardando con Database Explorer, i dati risultano aggiornati sulla tabella
interessata, ma nella maschera sulla DBGRID associata, non vengono
aggiornati i dati nonostante  provato a :
1) Fare un DBGRID.Refresh
2) Chiusura e riapertura della tabella e quindi Fare un DBGRID.Refresh
Solo se esco dal programma e rientro la DBGRID visualizza i dati
correttamente dopo l' aggiornamento.
Cosa ho tralasciato ?
Grazie per l' attenzione.

2) Chiusura e riapertura della tabella e quindi Fare un DBGRID.Refresh
Se la DBGrid è associata alla query, devi rieseguire una SELECT per
vedere i dati aggiornati.  Che DB stai usando ?
-- 
Andrea Laforgia
Gioca a Tetris !
http://www.geocities.com/andrealaforgia/mytetris.zip

Utilizzo file dbf con BDE.
La DBGRID in questione , comunque, è associata al Data Source della Tabella
su cui ho effettuato la Query.
E' questo il problema ?
"Andrea Laforgia" <x@x.x> ha scritto nel messaggio
news:ou6m6v4g9qmpcjhvo...@4ax.com...


Newsgroup: it.comp.lang.delphi
Titolo: Cancellazione item array dinamico

Ho creato un array dinamico di records
type
TRX = record
  s: string;
  v: integer;
end;
TX = array of TRX;
var x: TX;
Ok. Il problema si pone quando cerco di cancellare degli items. In
particolare alla
6° cancellazione. Il codice che uso è il seguente:
Move (x[v + 1], x[v], SizeOf (TRX) * (Length (x) - v - 1));
Finalize (x[Length (x) - 1]);
SetLength (x, Length (x) - 1);
v è la posizione dell'elemento da cancellare.
Qualche consiglio?
Grazie.

> Qualche consiglio?
Ti consiglio di usare una lista di puntatori alla tua struttura.
Cerca TList con l'help di delphi: fa tutto quello di cui hai bisogno.
Ciao,
-- 
Morde. 
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 SetLength (x, Length (x) - 1);
Ho risolto così:
h := Length (x) - 1;
for y := v to h do
  x[y] := x[Succ (y)];
Finalize (x[h]);
SetLength (x, h);
Newsgroup: it.comp.lang.delphi
Titolo: File di Testo

Qualcuno può consigliarmi una guida online di come fare a leggere e a
scrivere in un file di testo??
Grazie Anticipatamente
Nicola
--- posted by geoForum on 
http://www.delphiedintorni.it

scrivere in un file di testo??
Premi F1.
Un file di testo č estremamente semplice da gestire.  Delphi offre il
metodo classico che č quello ereditato dal Turbo Pascal e, ancor
prima, dal Pascal, di lavorare con variabili di tipo TextFile, oppure
quello di lavorare le TStringList.
Nel primo caso, dichiari una variabile:
 F: TextFile;
Le assegni il nome del file: 
 AssignFile(F, 'paperino.txt');
Apri il file in lettura (nel caso ti servisse sovrascriverlo o andare
in aggiunta, esistono le funzioni Rewrite e Append):
 Reset(F);
Leggi dal file delle stringhe mediante ReadLn:
 ReadLn(F, TuaString);
E alla fine di tutte le operazioni (generalmente in un corpo finally),
chiudi il file:
 CloseFile(F);
Ovviamente, se nel file vuoi scrivere anziché leggere, userai la
WriteLn.
Il metodo alternativo di usare le TStringList č ancora piů semplice:
//istanzio la TStringList
L := TStringList.Create;
try
  // carico il file
  L.LoadFomFile('paperino.txt');
  // faccio quello che voglio con gli elementi: L.Strings[x]
  ...
  // salvo le stringhe sul file
  L.SaveToFile('paperino.txt');
finally
  L.Free;
end;
Newsgroup: it.comp.lang.delphi
Titolo: Comportamento insolito

in un ciclo while
esegue l'importazione record per record di una tabella Table1
da una seconda tabella Table2
Fin qui tutto ok
Prima della conclusione del ciclo while ho inserito
++count e una
Label1->Caption = (String)("Record importati: ") + IntToStr(count);
Mi attendevo che per ogni importato vedessi scorrere il numero count
Invece no solo dopo avere l'importazione mi compare
Record importati: 4370
Perchè non vedo:
Record importati: 1
Record importati: 2
........................
??????
Controprova
se invece di Label1->Caption   aggiorno Caption cioè il titolo della 
finestra tutto è Ok
Caption viene aggiornata per ogni record importato


Ciao,
dovresti inserire dopo 
Label1->Caption = (String)("Record importati: ") + IntToStr(count);
un
application.processmessage;
Ciao da Enrico Giudici
ico...@tiscali.it
--- posted by geoForum on 
http://www.delphiedintorni.it

 ha scritto nel messaggio
news:bDDkd.32037$B06....@news.edisontel.com...


Newsgroup: it.comp.lang.delphi
Titolo: Installazione Firebird x Esperti

Come installare tale Database... Ho eseguito dettagliatamente il file con la
procedura in allegato ma con scarsi risultati, inoltre per avviare il
servere devo digitare "fbserver -a"
come mai???
Dulcis in fundo come mai IBExpert non mi funzione con Firebird mentre con
Interbase si o quale applicativo posso sostituire a IBExpert per operare su
FireBird
Grazie


vai qui:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_download
troverai un file Windows Setup and Installer for Superserver, fa tutto lui e
t'installa la versione Firebird 1.5 RC3. IBExpert non ti funziona perchè il
servizio Firebird Server non ti è partito. Riprova dopo l'installazione del
file sopra. In alternativa a IBExpert c'è EMS IBManager 3.5 ma è
commerciale. Bye
Med

Newsgroup: it.comp.lang.delphi
Titolo: Campi data null

Salve a tutti, ma insisto.
Come posso visualizzare in dbgrid un campo data vuoto? Viene sempre
visualizzato come 31/12/1899
Utilizzo D7 con ADO x OLE DB
Grazie.
DA

visualizzato come 31/12/1899
L'evento OnSetText associato ad ogni Field del tuo Dataset puo' esserti di
aiuto.
All'interno dell'evento OnSetText prova a fare:
if sender.asvariant = null then sender.asstring := '';
Ciao!
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 ha scritto nel messaggio
news:odpb30t0o1l45e00l...@4ax.com...

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.592 / Virus Database: 375 - Release Date: 18/02/2004


if Sender.IsNull then Text:='HAHAHAHAHAHAHA';

bugger wrote:

Scusa, ovviamente nel GetText del Persistent Field
Ciao Daniele
Newsgroup: it.comp.lang.delphi
Titolo: [Forse OT] ICO e BMP

E sempre difficile trovare l'icona/bitmap giusta per le applicazioni!
Non riesco trovare mai le immagini giuste per i miei menu e per
i vari bottoni!
Sapete se ci sono dei siti belli dove posso trovare qualcosa?
Grazie,
SADER

www.iconarchive.com
buon divertimento.
`·.¸¸.·´¯`William´¯`·.¸¸.·´


    Via De Gasperi, 14 - 42019
    Scandiano (Reggio Emilia)

Newsgroup: it.comp.lang.delphi
Titolo: Questione Tmemo

Salve a tutti; la mia questione è la seguente! é possibile rendere una
finestra memo come quella presente nel client mIRC, ovvero fare in modo che
ogni qualvolta ci si scriva dentro, lo scroolbar sia sempre posizionato in
basso a tutto e quindi visualizzare sempre l'ultima stringa scritta?
Grazie
Davide
--
=======================
Non approvo ciò che tu dici,
ma difenderò a costo della
mia vita il tuo diritto a dirlo ( Voltaire )
=======================

 Davide
Questo dovrebbe fare al caso tuo:
SendMessage(Memo1.Handle, EM_LINESCROLL,
                     0, Memo1.Lines.Count);
Sposta il cursore sull'ultima riga del memo.
Banalmente, se vuoi visualizzare le ultime righe del richedit:
SendMessage(Memo1.Handle, EM_LINESCROLL, 0,
                      Memo1.Lines.Count - X);
Ciao.
--
ACSH
[D4]
---------------------------
Chi fa da se'
fatica il doppio

Newsgroup: it.comp.lang.delphi
Titolo: Inizializzazione automatica di variabili

Ciao a tutti,
è possibile in delphi inserire un default alle variabili dichiarate in modo
che si inizializzano da sole????
Come faccio adesso:
var
    I :  integer
begin
    i := 0;
Come vorrei fare
var
    i:  integer --> ed dargli come default 0
begin
|
|
|
Ciao a tutti!
Alberto Cigliutti

begin
Non  quelle locali.
Le globali le puoi dichiarare cosi':
var
  I: Integer = 1;
-- 
"La velocità luce non è sufficiente Comandante Nunziatella, 
dobbiamo passare alla velocità smodata!"

 begin
GuidaQuiz!!!
Hai mai letto la guida in linea x cio che riguarda la dichiarazione di 
variabili? Io credo di no:
[cut]
var I: Integer = 7;
is equivalent to the declaration and statement
var I: Integer;
  ...
I := 7;
[cut]
A


 ha scritto nel messaggio
news:c9hi5e$1jv0$1...@newsreader2.mclink.it...


> Però non funziona per le variabili locali....
Hai ragione, avevo trascurato questo dettaglio.
Ma quello che volevo puntualizzare è che, come in tanti altri casi, il 
ng diventa l'automatica alternativa al tasto f1.
A

 Però non funziona per le variabili locali....
primo: il quoting!!!
secondo: cosa devi fare precisamente?
-- 
Ciao, Anto', [37, 143, AQ] 
MB C SC 220 CDI Magma Rot
"Di sempre cio' che senti e fai cio' che pensi."
    G.G. Màrquez

 ha scritto nel messaggio
news:c9hhfs$fre$1...@news.ngi.it...


 Giorgio P.


 ha scritto nel messaggio
news:1i8pzktiz0ln3.r...@40tude.net...

Newsgroup: it.comp.lang.delphi
Titolo: come impostare la programmazione di un'applicazione per la rete ?

Ciao a tutti !
Sto cercando di sviluppare un newsreader con Delphi, usando solo i
componenti di default .
Quindi per la parte intrecciata alla rete uso solo la classe TClientSocket .
Ho deciso di strutturare il programma in alcune classi con compiti precisi e
distinti.
Una classe avra' il compito di dialogare con il server nntp mentre le altre
si occuperanno di processare i dati in uscita e in entrata ( ad esempio
riconoscere i vari header, interpretare le date ect. ).
Il problema e' che e' la prima volta che sviluppo un'applicazione per
internet, e quindi mi trovo in dificolta' con la classe che dialoga  con il
server nntp.
Sono in grado di usare la classe socket di Delphi, ma non conosco il modo
migliore per farlo ( uso il socket in modalita' non bloccante).
In pratica non so' come impostare un' applicazione per comunicare sulla rete
secondo un certo protocollo .
Qualcuno mi puo' aiutare con qualche suggerimento?(ho visto le classi del
componente di INDY, ma era troppo complicato ....)
Ciao e grazie

Ciao a tutti !
Sto cercando di sviluppare un newsreader con Delphi, usando solo i
componenti di default .
Quindi per la parte destinata alla rete uso solo la classe TClientSocket .


 componente di INDY, ma era troppo complicato ....)
Indy e' la via migliore.
Non c'e' nulla di complicato, basta impostare le proprieta' dei componenti e
usare i vari metodi/eventi.
Io sto riscrivendo un newsreader client/server con interfaccia web basato su
interbase, da usare internamente alla mia azienda, e per il motore di
recupero degli articoli uso proprio i componenti Indy.
Il TClient/ServerSocket di Delphi ti serve a poco, a meno di non
implementarti tutta la RFC relativa al protcollo NNTP, cosa che, a mio
avviso, e' inutile, visto che esistono componenti gia' pronti.
--------------------------------
Inviato via 
http://usenet.libero.it

grazie per aver risposto .... purtropo DEVO usare solo le classi standard di
delphi ............
"Andrea Laforgia" <x@x.x> ha scritto nel messaggio
news:80Z105Z34Z80Y1...@usenet.libero.it...


 delphi ............
Posso chiederti perche' DEVI ? ottuso bigottismo del tuo capo ?
In ogni caso, se proprio devi, studia le specifiche di interfacciamento con
un server NNTP:
http://www.ietf.org/rfc/rfc0977.txt
Ti faccio tanti auguri.


E' per l'universita' ...........altrimenti avrei usato le Indy ( complicate
nel codice , intendevo ...)
Del protocollo nntp conosco tutto ......
Quello che non conosco e' lo stile con cui si programmano le applicazioni
internet; in un libro di Marco Cantu' (Delphi 4) si parla di machina a
stati, ma e' solo un cenno .......
ciao a tutti    (mi scuso per il doppio post .....)
"Andrea Laforgia" <x@x.x> ha scritto nel messaggio
news:80Z105Z34Z80Y1...@usenet.libero.it...

Newsgroup: it.comp.lang.delphi
Titolo: Scrittura componente in un campo di tipo Blob

Qualcuno sa per cortesia come scrivere un componente in un campo di tipo
Blob.
Grazie.
Giangi

 Blob.
non ho fatto nessuna prova, ma ciò che ti sto per dire dovrebbe funzionare
 magari con qualche ritocco ).
Allora il tuo campo blob sarà un campo binario e deve contenere il tuo
componente.
Per salvare un componente su file, si può utilizzare la classe TFileStream e
poi il metodo WriteComponent.
Ok fin qui ?
Bene, se dai un'occhiata alla classe TBlobField, vedrai che ci sono alcuni
metodi fatti apposta ( almeno sembra) per quel che vuoi far tu.
C'è il metodo LoadFromStream e SaveToStream. Li vedi ?
Oddio, c'è anche SaveToFile e LoadFromFile, ma questi funzionerebbero
ugualmente nel tuo caso, è solo che richiedono un passaggio in più per
l'operazione che vuoi fare, vale a dire la creazione di un file temporaneo
che poi andrà salvato nel campo Blob.
I primi due invece ( LoadFromStream ed il suo amico ) dovrebbero risultare
immediati.
Quello da utilizzare per salvare il componente, è ( sembra strano )
LoadFromStream.
Questo vuole un parametro di tipo TStream che dovrà contenere il componente.
Quindi tramite una classe che deriva da TStream ( TFileStream, TMemoryStream
..... ) puoi utilizzare il metodo WriteComponent e scrivere nello Stream per
poi passarlo al metodo LoadFromStream della classe TBlobField che si
occuperà di scriverlo sul campo binario.
Quindi per evitare di creare un file temporaneo, potresti utilizzare la
classe TMemoryStream che lavora in memoria.
Crei un'istanza del tipo:
var Memory : TMemoryStream;
begin
  Memory:=TMemoryStream.Create; // dovrebbe bastare così
  .....
  ....
e poi ti fai il WriteComponent utilizzando questa istanza.
Quindi:
  Memory.WriteComponent(istanza_componente);
ora Memory contiene il componente ( o i componenti ) salvato/i.
Quindi utilizzando il metodo "LoadFromStream" della classe TBlobField,
potresti scrivere:
LoadFromStream(Memory);  ( almeno spero )
ok ?
Per utilizzare al meglio proprietà e metodi di ogni campo della tabella, io
preferisco utilizzare i campi come se fossero componenti.
In pratica con un doppio click sul componente TTable, puoi aggiungere i
campi della tua tabella nell'object inspector e da qui mi pare semplice
tutto il resto.
Poi fai come vuoi tu, comunque per fare ciò che chiedi la sostanza è quella
che ti ho riassunto sopra.
Ti saluto.....ciao !!
Antonio Tarolla


Ti ringrazio per la risposta. Effettivamente come hai indicato tu le cose
funziona tutto correttamente. Precedentemente avevo usato questo codice:
Canale := TBlobStream.create( CampoBlob,  bmWrite );
Utilizzando Delphi 3 su Win95 funzionava tutto correttamente. Su Win98 lo
stesso codice, sia in Delphi3 che in Delphi5 non funziona. Il delphi genera
un'errore di 'Invalid class typecast'. Quindi l'unica soluzione che sembra
funzionare è quella da te specificata.
Ti ringrazio.
Giangi.
Newsgroup: it.comp.lang.delphi
Titolo: [OT] server di news

ma voi quale usate?
io ho messo quello di wind e quelo di tiscali ma entrambi funzionano solo
dai pop loro... e certe volte manco da quelli!!! :(
buio

io uso quello del mio isp: 
mclink.it
In 3 anni di abbonamenti avroavuto al max 3 problemi in tutto.
AS
"Se è Microsoft non funziona"

 wrote:

news.cis.dfn.de
 (prima vai su www.comesopra per iscriverti). Ottimo,
c'e' tutta la gerarchia it (esclusi i bin).
hth
Paolo Arosio

 buio
prova con questo a me funziona con tutti anche se con wind mi sembra un po
lento ma penso che sia colpa di wind: 
News.CIS.DFN.DE
 pero ti devi reggistare a :
: 
http://news.cis.dfn.de/en/config.html
ciao
--
 ----------------------
togli no spam per rispondere
    cià
           Caspar
Siediti al sole,
Abdica
e si Re di Te stesso.

| 
news.cis.dfn.de
 (prima vai su www.comesopra per iscriverti). Ottimo,
| c'e' tutta la gerarchia it (esclusi i bin).
confermo, lo uso anch'io,
e pensare che ho preso il primo che mi e' capitato..
mi e' andata bene :)
Ciao!

Newsgroup: it.comp.lang.delphi
Titolo: cdrom

Se cerco di aprire (tramite Reset) un file da un cd-rom mi da errore, come
posso risolvere la faccenda?

 ha scritto nel messaggio
news:H94o7.49297$ul3.1...@news.infostrada.it...


 forse me sa che perche(Credo!!!) il file nel cd-rom è di sola lettura!
però io voglio solo farne una copia sul disco rigido, non lo modifico

 posso risolvere la faccenda?
Quale errore? Che ver di Delphi?
Comunque, io ho riscontrato un i/o error 87 se apro il file senza
specificare il recsize
Cosě perň mi funzia :
var f: file;
x : array[0..4095] of byte;
begin
  assignfile (f, 'f:\setup.mpq');
  reset (f,1);
  blockread (f, x, sizeof(x));
  closefile (f);
end;
--
Ciao !  Davide DG.
Newsgroup: it.comp.lang.delphi
Titolo: [..quasi OT] scelta vassoio di stampa

Salve a tutti,
la domanda è quali stampanti permettono di scegliere il vassoio tra i 2 
o più disponibili via programmatica ?
Uso delphi 7 con quick report e occasionalmente Rave Report che 
espongono metodi specifici per la selezione del vassoio ma sembra che la 
mia HP laserjet 1022 non ne permetta la selezione via codice nonostante 
disponga di due vassoi.
Dan

disponga di due vassoi.
Credo ti convenga crearti in Windows due stampanti logiche che  HP1 e HP2
che utilizzino una vassoio una l'altra e dal tuo programma stampi o su una
stampante o l'altra.
Ciao
--- posted by geoForum on 
http://www.delphiedintorni.it

 Ciao
Si potrebbe essere una soluzione, ma purtroppo nemmeno il driver stesso 
della stampante permette di effettuare una scelta su quale cassetto 
utilizzare. Mi sà che ho sbagliato stampante.......
Grazie comunque !
Dan
Newsgroup: it.comp.lang.delphi
Titolo: Domanda a riguardo di un savedialog

HO un savedialog che uso per salvare delle immagini.
Quando mi si apre, il campo del nome file contiene il nome dell'immagine che
è stata aperta precedentemente (quindi cmprensiva di estensione).
Suponiamo che sia chiamata "prova.jpg".
ora però la voglio salvare come bmp quindi vado a scegliere nella lista
delle estensioni il bmp.
La cosa che vorrei fare è di cambiare "al volo" anche l'estensione presente
all'interno del nome del file onde evitare di chiamare il nuovo file
"prova.jpg.bmp" mi sono spiegato?
Ho provato a cercare ma non ho trovato nulla... sarebbe comodo aavere un
evento OnChange del filter ^__^
Davide

 ha scritto nel messaggio
news:Gg09b.317203$Ny5.9...@twister2.libero.it...

Newsgroup: it.comp.lang.delphi
Titolo: Help:elenco dei files presenti in un volume...

Ciao a tutti...vorrei creare una piccola utility che mi consenta di
selezionare un qualsiasi
volume (a me interessa in particolar modo l'unità CD) e che in uscita dia un
semplicissimo file di testo che contenga in nomi di tutti i file presenti
nel volume, con il relativo path.Un elenco, puro e semplice, di tutti i
files presenti nell'unità...Purtroppo non ho la minima idea di come si possa
fare...Qualcuno sa darmi una dritta?
Grazie mille a tutti per l'attenzione
Ciao,Marco.

 ha scritto nel messaggio
news:9gpo91$l0i$1...@lacerta.tiscalinet.it...
: Ciao a tutti...vorrei creare una piccola utility che mi consenta di

:
:
puoi modificare questa routine che calcola la dimensione di una directory.
function TForm1.CalcFolderSize(const aRootPath: string): Int64;
  procedure Traverse(const aFolder: string);
  var
    Data: TWin32FindData;
    FileHandle: THandle;
  begin
    FileHandle := FindFirstFile(PCHAR(aFolder+'*'), Data);
    if FileHandle <> INVALID_HANDLE_VALUE then
    try
      repeat
        if (Data.dwFileAttributes AND FILE_ATTRIBUTE_DIRECTORY > 0) and
(Data.cFileName[0] <> '.') then
          Traverse(aFolder+Data.cFilename+'\')
         else Inc(Result, (Data.nFileSizeHigh * MAXDWORD) +
Data.nFileSizeLow);
      until not FindNextFile(FileHandle, Data);
    finally
      Windows.FindClose(FileHandle);
    end;
  end;
begin
  Result := 0;
  Traverse(aRootPath);
end;
ciao
giuliano

 ha scritto nel messaggio
news:9gpo91$l0i$1...@lacerta.tiscalinet.it...

Io invece userei una qualsiasi delle decine di componenti cerca files che vi
sono su torry(io uso FindFile,è molto semplice da usare)...con questo
componente ho fatto un programma che ti trova i file o per nome e per
estensione,in qualunque directory...è quindi facilmente modificabile per
cercare sull' intero hard disk tutti i file...fai così,prenditi questo
FindFile,setti
Findfile.directory:='edit nel quale scrivere in quale unità cercare' ;
findfile.filter:=*.*
findfile.execute;
in findfile.files,che è una StringList,trovi la lista dei files trovati...a
questo punto ti lavori la stringlist come + ti piace,trasferendola in
qualche box o in un file di testo...:)

 wrote in message
9gpp9o$a8kn2$1...@ID-41937.news.dfncis.de...

In effetti mi è bastato aggiungere l'output sul file di testo nel ramo
else...grazie mille Giuliano, mi hai dato una grossa mano...a buon
rendere...Ciao,Marco.

 wrote in message
UC2Y6.7064$Rq1.2...@news.infostrada.it...

Grazie anche a te Paolo...ma avevo già risolto...
(PS[OT] : ma ci conosciamo? io sono di bovisio m.go...il tuo nome non mi è
nuovo...)
Newsgroup: it.comp.lang.delphi
Titolo: Keybd_Event, aiuto

Buongiorno a tutti.
Ho una situazione strana da risolvere in qualche modo: ho realizzato un programma che legge da una seriale, modifica in qualche modo l'input e lo spara come da tastiera con il comando keybd_event. 
Funziona tutto, su qualsiasi programma tranne su un maledetto gestionale che sembra accettare soltanto segnali PS/2 da tastiera. Evidentemente il keybd_event non fa questo. Lo stesso programma da remoto tramite teamviewer funziona.
Qualcuno sa come aiutarmi? Non mi pare che tra i parametri di keybd_event ci sia qualcosa inerente a questo problema, devo forse settare qualcosa in Windows? O al momento della compilazione?
Ringrazio in anticipo.

Ciao,
 
[..]
"PT"  ha scritto nel messaggio 
news:c40696d4-1211-48ab...@googlegroups.com...

[..]
 
non ho mai avuto necessita' di simulare la pressione della tastiera, prova a 
leggere qui forse trovi la soluzione
 
https://stackoverflow.com/questions/18662637/sendinput-vs-keybd-event
 
 
https://www.swissdelphicenter.ch/en/showcode.php?id=220
 
 
Se fai una ricerca con google .. ne trovi altre decine simili a queste ...
 
Ciao
 
Daniele 
 

Il giorno giovedì 18 aprile 2019 15:58:57 UTC+2, Daniele ha scritto:
 
Ho provato altri 2 metodi trovati in questi esempi ma fanno tutti la stessa cosa.
 
Comunque grazie, continuo a cercare.

Ciao,
  il gestionale e' sviluppato da te?
Se si puoi aggirare quella funzione e simulare la pressione dei tasti 
tramite onkeydown dove serve.
 
Fai sapere come risolvi....
 
Ciao e buona Pasqua
 
Daniele 
 

   il gestionale e' sviluppato da te?
 
Purtroppo (o per fortuna) no.
 
Buona Pasqua anche a te.

Ciao,
  ovviamente lo saprai gia' (mentre io l'ho appreso leggendo ora) la 
funzione keybd_event manda la simulazione della pressione dei tasti sulla 
tastiera sull'oggetto che ha il focus.
Tra le altre problematiche sembra che se l'oggetto in questione e' una 
griglia, questa funzione non da i risultati sperati 
(
https://stackoverflow.com/questions/12950920/simulating-keyboard-input-in-delphi-using-winapi
).
 
Prova, sul gestionale, ad impostare il focus su un edit e poi mandare i 
keybd_event.
 
Ciao
 
Daniele
 
 

 keybd_event.
 
Ovviamente il focus è impostato sul campo che devo riempire.
La cosa incredibile è che l'emulazione non funziona in nessun edit o nessuna griglia di quel programma, e solo di quello. Addirittura se faccio un apri file da una delle finestre del programma (per esempio per impostare l'immagine di un articolo) non riesco a emulare la tastiera neanche nella normale finestra di apertura file di Windows. Mentre la stessa cosa da un altro programma funziona normalmente.
E' un mistero che mi sta facendo ammattire.
Newsgroup: it.comp.lang.delphi
Titolo: OT : Buone Vacanze

Ciao a tutto il NG,
domani partirò e starò via per circa una settimana, con questo volevo solo
augurarvo buone vacanze!
Ciao! :)
--
- Carlo -

 domani partirņ e starņ via per circa una settimana, con questo volevo solo


Newsgroup: it.comp.lang.delphi
Titolo: Intercettazione messaggi.

Come faccio a intercettare il messaggio WM_NOTIFY inviato a una form?
Ho provato a creare un gestore apposito nel componente:
procedure OnNotify( var msg: TMessage ); message WM_NOTIFY;
ma viene ignorato. Allora ho provato a ridefinire il metodo WndProc():
procedure WndProc( var msg: TMessage);  override;
che riceve un sacco di messaggi, ma non WM_NOTIFY.
Cos'è che non so?
Grazie per l'aiuto.

 Come faccio a intercettare il messaggio WM_NOTIFY inviato a una form?
Attento che WM_NOTIFY viene inviato alla parent window, pertanto se hai
implementato la procedura di notifica del messaggio in una form che non è la
Parent non dovrebbe intercettare il messaggio ...
Per il resto il seguente codice dovrebbe funzionare alla perfezione :
Form...
  public
    procedure OnNotify ( var msg: TMessage ); message WM_NOTIFY;
    { Public declarations }
  end;
procedure TForm1.OnNotify;
Begin
  // azioni da svolgere ...
end;
Per verificare il funzionamento reinviati un messaggio in locale ...
Ciao!
--
- Carlo -
c.b...@libero.it
Newsgroup: it.comp.lang.delphi
Titolo: Intercettare l'esecuzione di un evento

Vorrei Sapere come fare ad intrcettare  un evento del genere:
repeat until  (button1.click is finish);
Grazie fin da Ora
                JO

 wrote in message 38B16C27...@carrnet.com...


 repeat until  (button1.click is finish);
??? quello che hai scritto mi suona molto strano...
Se chiami button1.click da una procedura l'esecuzione di questa procedura
verrà lasciata in sospeso fino alla fine di Button1.Click...
PS: se ci spieghi meglio cosa vuoi fare forse possiamo indirizzarti
meglio...
Ciao :-)
--
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)
AntiSpam: rimuovere il trattino basso dall'indirizzo per rispondere
AntiSpam: remove the underscore from the e-mail address to reply

repeat until  (button1.click is finish);
Se fai cosi', non riuscirai mai a intercettare l'evento perche' non
dai il tempo a Delphi di processarli. Devi mettere all'interno del
ciclo 
 Application.ProcessMessages;
per realizzare un abbozzo di multithread.
Ciao
--
Piero Bonanno
bop...@libero.it
pie...@tiscalinet.it
bop...@tin.it
bpie...@hotmail.com
______________________________________________
"Madame, lei ha tra le gambe uno strumento
che puo' offrire piacere a migliaia di persone,
e tutto quello che sa fare e' grattarlo"
- Sir Thomas Beechan a una violoncellista

                 JO
Sono sempre io che scrivo.
Quello che volevo chiedere e se e possiblie intercettare uin evento
prima di eseguire un determinato codice.
Se io uso una risorsa come la porta seriale e dentro un evento di tipo
OnTimer di un temporizzatore scrivo nella porta, devo prima controllare
che non sto leggendo nella porta e io la lettura la faccio rispondendo a
un messaggio di Windows attraverso un evento di un componente porta
seriale (TComport).
Esempio
Procedure P.OnTimer ( )
Begin
   repeat until (port.read is finish)
   porta.write;
end;

 prima di eseguire un determinato codice.
Se stai scrivendo/leggendo su porte io ti consiglio di usare dei threads
separati e sincronizzare le operazioni mediante le WaitForSingleObject,
WaitForMultipleObjects, MsgWaitForMultipleObjects ecc ecc...


Newsgroup: it.comp.lang.delphi
Titolo: Comando di Tastiera e Mouse

Ciao a tutti!
Vorrei fare un programma che spinga tasti e sposti il cursore del mouse e
clicchi (hai detto niente!), in modo da automatizzare la navigazione su
alcuni siti web.
Da dove comincio?? :)
Chris

 Da dove comincio?? :)
Oddio... sta per diventare una faq!! ;-)
Consulta l'help a proposito di:
SetCursorPos, mouse_event e keybd_event (e argomenti correlati).
Oppure, se lo scopo è diverso da quello che penso ( ;P ), vedi il
componente TWebBrowser
--
Ciao !  Davide DG.

 componente TWebBrowser
?? :)
Comunque, c'e' un sito maledetto che lascia scaricare un file soltanto alla
volta, passando ogni volta per 5 pagine html con un tasto da cliccare.
CHris
Newsgroup: it.comp.lang.delphi
Titolo: Utilizzo intraweb

Ciao a tutti
ho fatto una applicazione di test utilizzando intraweb e Ado.
Anche io utilizzando lo stand alone non ho avuto problemi, mentre
trasformarmandolo in dll sono cominciati i casini.
quando chiamo la dll con la sintassi 
http://localhost/Test/Test.dll
 mi
appare un numero negatico grandissimo seguito dalle parentesi tonde con un
numero esadecimale, facendo F5 tutto funzione ma appena clicco su un tasto
iniza a dare i numeri.
Per l'installazione creo una nuovo alias (in questo caso test) metto come
directory dove è presente test.dll ed infine cambio nelle proprietà del sito
da "solo script" a "script ed eseguibili."
utilizzo D7 enterprise senza nessun upgrade.
Dove sbaglio ?
Ciao e grazie a tutti

 Dove sbaglio ?
Ad utilizzare intraweb:)))))) SCHERZO!!!!
Uno dei problemi di intraweb è quello che in StandAlone funziona sempre
tutto
in deploy poi hai dei problemi grossi, infatti consiglio di controllare
l'applicazione regolarmente
sotto IIS o Apache senza scrivere troppo codice.
Con ADO ed informix ricordo di aver passato dei guai simili che poi ho
risolto ma ora
nonn ricordo precisamente come cmq.. fammi sapere
ciao

Newsgroup: it.comp.lang.delphi
Titolo: Valore di una variabile come nome di un componente

Ciao a tutto il NG!
Avrei un piccolo problema di programmazione: avrei bisogno di utilizzare il
valore di una variabile come nome di un componente, quindi sfuttando le sue
proprietą, cosģ:
var
NomeComponente: string;  // questa variabile contiene il nome del componente
di cui mi interessano le proprietą.
begin
NomeComponente. ........  (proprietą del componnete)
Il nome del componente deve essere letto e scritto su un file INI
Mi aiutereste, plese?
Ciao! :)

 proprietà, così:
Non ho capito esattamente cosa vuoi fare :
scrivere alcune proprieta' del componente con nome x nel file .ini ?
Oppure vuoi scriverle tutte in automatico ?
Oppure non ho capito :)
Ciao.Alberto.
-- 
Alberto Rubinelli - A2 SISTEMI               posted with Gravity 2.60b
Via Costantino Perazzi 22 - 28100 NOVARA (NO) - ITALY     ICQ 49872318
E-Mail : 
alb...@retrocomputing.net
  Tel. 0321 640149 
Web    : 
www.retrocomputing.net
      Fax  0321 391669 BBS  0321 392320


-- 
Virgilio Lattanzi       HARPAX srl
Tel: +39 733 816872     via Fontanella, 38
Fax: +39 733 819133     62012 Civitanova Marche MC
WWW: 
www.harpax.com
     ITALY

 Ciao.Alberto.
Intendevo che la variabile contiene il nome del componente e io desidero
sfruttare le proprietą del componente a cui il nome (nella variabile) fa
riferimento: se hai nel programma un componente con il nome Pippo, io
desidererei fare:
var
NomeComponente: string;
begin
NomeComponente := Pippo; //Questo č il nome di un componente nel programma
NomeComponente. ........    // Fa riferimento alle proprietą di Pippo
Grazie 1000000000000  Alberto!


Grazie Virgilio.....    Ora provo come mi dici tu.....   Ho provato a fare
il typecast direttamente sulla variabile, ma il compilatore non era molto
contento di quello che avevo fatto :'(    Probabilmente avevo fatto qualche
stupidata.....
Grazie, poi ti dico se ce l'ho fatta!
Stefano
Newsgroup: it.comp.lang.delphi
Titolo: componente all'interno di un componente

ciao a tutti,
..grazie per le risposte dell'ultimo post...
avrei pero' un'altra domanda...
vorrei inserire il componente Timer di delphi all'interno di un componente
che ho creato.
Vorrei poi vedere le stesse proprieta del timer nell'object inspector del
nuovo componente.
E' possibile? se si come?
grazie in anticipo a tutti coloro che mi daranno una mano.
sergio
--- posted by geoForum on 
http://www.delphiedintorni.it

devi creare delle property che vadano poi a legarsi alle property del
timer.
AS

AS
grazie x l'aiuto,
nn avresti un esempio di come creare le property legate al timer?
grazie


1) crei la property sul tuo componente dello stesso tipo della property
del timer
2) il metodo get deve restituire il valore della property del timer
3) il metodo set deve scrivere il  valore della property del timer
AS

 ha scritto nel messaggio 
news:Q1fVe.22921$nT3....@tornado.fastwebnet.it...


pericolosa....
Puoi dare una free, mettere l'handle a nil....
Io esporrei solo quello che serve mappando le relative property usando
il componente che lo contiene come un wrapper.
Il tutto rigorosamente imho.
AS

e nel metodo create della classe crei l'instanza del timer.
grazie per l'aiuto,



grazie per l'aiuto,
potresti per cortesia scrivermi 2 righe di codice?
come intendi il "wrapper"?
grazie in anticipo


Newsgroup: it.comp.lang.delphi
Titolo: Dimensione dell'istanza di un oggetto

Ciao a tutti,
come faccio a sapere la dimensione in bytes dell'istanza di un oggetto,
e nello specifico di un TBitmap creato a runtime?
Ho provato con bmp.InstanceSize ma mi restituisce sempre 64 bytes, e
anche SizeOf(bmp), ma mi restituisce sempre 4 bytes, nonostante la
dimensione dell'immagine che bmp contiene sono di circa 300 kbytes...

 e nello specifico di un TBitmap creato a runtime?
forse dovresti salvarlo temporaneamente su un TMemoryStream (SaveToStream) 
e leggerne le dimensioni (TStream.Size)
Ma non ho provato.
-- 
Mauro Falzari 
 
  La teoria è quando si sa tutto ma non funziona niente. 
  La pratica è quando funziona tutto ma non si sa il perchè. 
  In ogni caso si finisce sempre a coniugare la teoria con la pratica: 
  non funziona niente e non si sa il perchè. 
   (Albert Einstein)

"madbat870" ha scritto nel messaggio

Prova con GetBitmapDimensionEx, un'API di Windows.
Ciao
-- 
ACSH
[D4]
Chi fa da se', fatica il doppio
Newsgroup: it.comp.lang.delphi
Titolo: pannello

Ciao,
qualcuno sa come posso in un pannello intercettare quando vengono 
aggiunti controlli al suo interno? Se c'è qualche evento particolare?
grazie.
-- 
-------------------------------
per scrivere in privato
togliere "1975nosp"
to reply remove "1975nosp"

 aggiunti controlli al suo interno? Se c'è qualche evento particolare?
Fino a D7 on esisteva.
Puoi risolvere usando due strade: la prima "quick and dirty" che si basa 
su un timer che ogni mezzo secondo controlla se è cambia il numero dei 
child controls, la seconda è quella di crearti un tcustompanel che 
implementa il pattern observer [1] e gestire in questo modo altamente 
efficiente l'aggiunta dei controlli.
[1] 
http://www.castle-cadenza.demon.co.uk/observe.htm
-- 
morde
D5,D6,D7
Firebird 2.1
QT 4.7.0 (MingW) QT Creator 2.1

Newsgroup: it.comp.lang.delphi
Titolo: Delphi 7 Trial... in edicola.. Una domanda!

Ciao, ho scaricato la versione 7 trial (chiaramente) dalla Borland, ed ecco
subito uscire la rivista con allegato il cd in edicola (6 ore x
scaricarlo!!!!!!!! >:) )
La domanda è la seguente, il cd, contiene qualcosa in più rispetto a quanto
da me scaricato?? Vale la pena acquistarlo o è la stessa cosa??
1K  Grazie
Marco

 che rivista č allegato?
IoProgrammo... esce con 2 CD + supplemento web a 7,70Ł (o giů di lě).
Saluti,
HTH
--
Webmaster di 
www.visualcsharp.it

 ha
scritto:

La rivista č "io programmo"
--------------------------------
Inviato via 
http://usenet.libero.it

Newsgroup: it.comp.lang.delphi
Titolo: DLL a caricamento dinamico

Dove posso trovare qualche esempiodi dll a caricamento dinamico?
--------------------------------
Inviato via 
http://usenet.iol.it

Dove posso trovare qualche esempiodi dll a caricamento dinamico?
www.marcocantu.it
cerca i sorgenti di mastering delphi 3 che contengono degli esempi
----
Lawrence "Rhymes" Oluyede
rhy...@myself.com

 Dove posso trovare qualche esempiodi dll a caricamento dinamico?
caricare una DLL dinamicamente è la cosa più semplice del mondo, è
sufficiente una chiamata all'API LoadLibrary() ... per quanto riguarda il
"caricamento" delle procedure utilizza GetProcAddress().
Sulla documentazione microsoft (il file di Help Win32 o msdn) trovi tutti i
dettagli, se hai proprio bisogno di un esempio te lo scrivo io.
Ciao!
--
- Carlo -
c.b...@libero.it
http://members.fortunecity.it/cbertu

Magari mi sarebbe utilissimo per partire
IL problema è questo:
utilizzando quel file che tu hai messo a dispozione vorrei creare una DLL
da cui vengano caricate quelle funzioni di cui ho bisogno. Questo perchè la
necessità mi si presenta su diversi punti della mia applicazione. I nodi a
questo punto sono:
1) mi conviene fare una libreria a caricamanento
dinamico o altro?
2) come faccio a passare un oggetto variant?
ps:
comunque sia Buon natale e Felicissimo anno nuovo!!!

Newsgroup: it.comp.lang.delphi
Titolo: verifica spazio HD remoto

Se uso la lettera di un HD mappato, posso leggere il dato relativo allo 
spazio disponibile
 
con qualuqnue altro tentativo , GetDiskFreeSpaceEx non viene verificata.
 
//Folder := '127.0.0.1:D:';
//Folder := '\\<nomecomputer>/D:';
 
     Folder := 'Z:';
if GetDiskFreeSpaceEx(PChar(Folder), FreeAvailable, TotalSpace, nil) 
then   sSpazio := IntToStr(FreeAvailable div (1024*1024*1024));

Se usi una lettera di un HD mappato dee essere "aperto" da explorer
Se no devi dare il nome di rete completo (Es. '\\server1\Direttorio\')

Newsgroup: it.comp.lang.delphi
Titolo: Aiuto su I/O routine

Ciao Ragazzi,
ho crreato una form con diverse Label, Edit e ComboBox.
Il programma dovrebbe far questo: scrivere su un file i valori settati
all'interno dei succitati Label, Edit e ComboBox.
Fin qui tutto bene, ma ora vorrei cambiare qualcosa.
Ossia vorrei che i valori inseriti in questi componenti vengano prima
memorizzati in una variabile e poi salvare  in un ComboBox queste
impostazioni, assegnondone un nome.
Dopo aver memorizzato le diverse impostazioni, vorrei scrivere tutto su
File.
Come posso fare?
Spero di essere stato chiaro.
Aiutatemi.....

 su File.
Non ho capito bene... per capirci, vuoi creare degli "schemi" a cui vuoi
assegnare un nome, cioč un insieme di impostazioni, tipo gli schemi di colore di
win?
--
Jax

 File.
Qui non si capisce molto quello di cui hai bisogno.
Non capisco perchč quella variabile ... forse tutto quello di cui hai
bisogno č lo streaming dei componenti.
In questo modo puoi proprio salvare i veri e propri componenti (con il loro
stato, le loro proprietą etc) su un file e poi ripristinarli quando meglio
credi.
Cerca sull'help WriteComponent e affini. Se ho capito male cerca di
reillustrarmi il problema.
--
- Carlo -
cbertu81(at)libero(dot)it

Newsgroup: it.comp.lang.delphi
Titolo: Indy in Delphi Turbo ?

Salve a tutti.
Non ho trovato i componenti Indy nel Delphi Turbo Explorer.
Qualcuno sa se almeno nel porfessional ci sono o se è possibile
installarli free ?
Grazie
castore

 installarli free ?
E' senz'altro possibile installarli, ma comunque sono inclusi (in Turbo 
Professional).
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 castore
Andrea

Grazie ad entrambi.
Comunque mi interessano gli indy per il porting da versioni precedenti
di delphi.
Ordinerò il professional.....
Saluti
castore

Newsgroup: it.comp.lang.delphi
Titolo: nome della DLL in uso ?

Ciao a tutti,
se richiamo una funzione di una DLL, all'interno di essa, non riesco a
sapere il suo nome!!!
La prima ipotesi era quella di verificare "Application.ExeName" ma questi mi
ritorna il nome dell'EXE chiamante.
C'è qualche modo per sapere qual'è il nome della DLL ?
grazie
--
ciao
Solid Snake IT
"Nemo mortalium omnibus horis sapit" (Plinio il VECCHIO)

 C'è qualche modo per sapere qual'è il nome della DLL ?
Non la ho provata ma dovrebbe funzionare:
   GetMem(buffer,MAX_PATH)
   GetModuleFileName(GetModuleHandle(pathDLL),buffer,MAX_PATH);
(buffer è una variabile pchar)
Se richiami il tutto dall'interno della DLL puoi sostituire la chiamata a
GetModuleHandle() con hInstance.
Per ottenere il solo nome della DLL senza path utilizza ExtractFileName()
Saluti
--
- Carlo -
c.b...@libero.it
Newsgroup: it.comp.lang.delphi
Titolo: Comunicazione tramite USB

Secondo voi è possibile (in Delphi ovviamente) comunicare con un 
dispositivo USB senza passare per COM virtuali od altro?
Mi spiego... dovremmo far comunicare un IBM con un apparecchio robotico 
che ha un'uscita usb 1 senza nessun driver (la casa che produce il 
dispositivo dovremmo essere noi). I casi sono due o comunichiamo 
direttamente con il dispositivo o dovremmo "adattare" l'usb per fargli 
emulare una com standard e, in questo caso, ci occorrerebbe anche un 
driver per Windows. Che problema c'e' direte voi? Nessuno se non per il 
fatto che alcune linee non le utilizzeremo in maniera com standard e 
quindo un driver "normale" serve a poco. Costruire un driver da zero è 
abbastanza arduo e vorremmo evitarlo.
Grazie a tutti,
David

Microges ha scritto:

Da quel poco che so:
- la parola UNIVERSAL dell'acronimo USB e' fuorviante poiche' non esiste
nessun driver universale per questi dispositivi: ognuno utilizza il 
proprio oppure uno generico fornito da windows. A quel punto si
"colloquia" 
con il driver e non con la porta direttamente; se non esiste nessun driver 
per quel particolare dispositivo, bisogna scriverselo (cosa parecchio
ardua in Delphi).
La soluzione piu' pratica e veloce, IMO, e' quella di inserire tra il PC
ed il dispositivo robotico un adattatore USB-Seriale che si trova
facilmente in commercio. La porta USB viene in questo modo vista come una
normale porta Seriale alla quale potete accedere attraverso il driver
fornito dal produttore dell'hardware o addirittura atrraverso le API del
SO.
Qualche info sull'USB:
USB in a NutShell
http://www.beyondlogic.org/usbnutshell/usb1.htm
Ciao
ACSH
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.delphi
Titolo: help!! combo box

Salve ha tutti..
Ho un quesito da proporre
In una form ho 4 componenti ComboBox.. tutti e 4 hanno gli stessi elementi..
però io devo fare in modo che tutti e quattro contengano elementi sempre
diversi..
come posso fare??
esiste un altro componente??
Grazie a chiunque voglia aiutarmi.
Daniele
--
Posted from 
twingo.tiscalinet.it
 [195.130.224.85] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

diversi..
Puoi spiegarti meglio?
Rocco Barbaresco:
Herrare Humanum Est,
Perseverare Ovest ....
(By Fichi D'India)

 via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Prova cosě:
assegni al campo tag di ogni componente un valore diverso (da 0 a 3), dai un
nome del tipo Combo0,..Combo3, poi, nell'evento onChange (uno unico per
tutti) scrivi:
procedure TForm1.Combo0Change(Sender: TObject);
var
  i, senderTag,itemIndx,j:integer;
begin
  senderTag:=(sender as TComboBox).tag;
  itemIndx:=(sender as TComboBox).itemIndex;
  j:=1;
  for i:=senderTag+1 to 3 do begin
    if itemIndx+j<=3 then
      TComboBox(findComponent('Combo'+intToStr(i))).itemIndex:=itemIndx+j
    else
TComboBox(findComponent('Combo'+intToStr(i))).itemIndex:=itemIndx+j-3-1;
    inc(j);
  end;
  j:=1;
  for i:=senderTag-1 downto 0 do begin
    if itemIndx-j>=0 then
      TComboBox(findComponent('Combo'+intToStr(i))).itemIndex:=itemIndx-j
    else
TComboBox(findComponent('Combo'+intToStr(i))).itemIndex:=3-j+itemIndx+1;
    inc(j);
  end;
end;
Puň non essere molto elegante, ma funziona.
Ciao
Ruggero

Grazie ruggero..
Ok il programma funziona ma succede un piccolo inconvegnente..
i combobox cambiano posizione.. a me interesse che soltanto l'ultimo
"modificato" (per ultimo intendo: non come posizione, ma come modifica)
cambi posizione e non tutti gli altri..
Puoi Aiutarmi??
Grazie..


Newsgroup: it.comp.lang.delphi
Titolo: Tabsheet!!! Impedire il cambio ti tabsheet.

Ciao,
Su un Page control ho due tabsheet, ora, nel caso in cui sia sulla tab(1) e
sono in modalità Insert del database, vorrei che fosse impedito il passaggio
alla tab(2) se un utente va a cliccare sulla tabsheet(2), e ovviamente
dovrei ripristinare dopo il Post )o il Cancel) del Database.
(Qualche idea? c'ho perso una serata intera e non l'ho risolto :-( )
Grazie in anticipo
Robin

 ha scritto nel messaggio
news:S8eX5.1096$x_2....@twister1.tin.it...


 Robin
prova a mettere questo nell'onchanging del page control ;)
procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
     if Table1.State =  dsInsert then
       AllowChange := false;
end;
Ciao, Angelo Diego Crabolu.


Grazie, Funziona perfettamente. :-)
Ciao
Robin

Newsgroup: it.comp.lang.delphi
Titolo: Messaggio per Morde

Volevo saprese se le cose chti ho inviato sono complicate.
Jojoba
--------------------------------
Inviato via 
http://usenet.libero.it


Non lo sono affatto.
Devi avere pazienza.
Morde

Grazie.
