Newsgroup: it.comp.lang.delphi
Titolo: Il mio primo post...

Salve a tutti,
        è la prima volta che posto su questo newsgroup e colgo subito
l'occasione per porvi due domanda alle quali, spero e credo, possiate darmi
risposta:
1) come faccio a impedire la pressione dei tasti del mouse su una memo?
2) come faccio a registrare l'estensione di un file. Mi spiego, sto
sviluppato un programma che salva con estensione mdl e vorrei che winzzoz
riconoscesse quest'estensione. Inoltre vorrei riuscire ad aprire i file
salvati con un semplice click (es. apertura documenti di word). Credete che
si possa fare?.
Spero sia tutto chiaro, comunque grazie in anticipo a tutti coloro che
rispondono.

 si possa fare?.
per la seconda parte della seconda domanda (apertura con 1 click) piazza il
codice che segue nell'evento OnCreate della form principale della tua
applicazione:
  //controlla se č stato passato un file per paramentro
  if ParamCount > 0 then
    begin
          <NomeFile1> := ParamStr(1);
          <NomeFile2> := ParamStr(2);
    end; //if
questo codice controlla che sia stato passato uno o piů nomi di file come
parametro ed in ParamStr hai i nomi dei file...
Se hai bisogno di altro... :)
--
Max Etere
maxe...@infinito.it
www.sendai.it/encom
ICQ#: 129227562

Questo serve anche a me! ;)
uses Registry;
procedure CreaNuovaAssociazione(Ext,
                                ProgID,
                                ProgDescr,
                                ProgPath: String);
var
  RegistroWin: TRegistry;
begin
  RegistroWin := TRegistry.Create;
  try
    RegistroWin.RootKey := HKEY_CLASSES_ROOT;
    RegistroWin.OpenKey('.' + Ext, true);
    RegistroWin.WriteString('', ProgID);
    RegistroWin.CloseKey;
    RegistroWin.OpenKey(ProgID, true);
    RegistroWin.WriteString('', ProgDescr) ;
    RegistroWin.OpenKey('shell\open\command', true) ;
    RegistroWin.WriteString('', '"'+ProgPath+'" "%1"') ;
    RegistroWin.CloseKey ;
    RegistroWin.CloseKey ;
  finally
    RegistroWin.CloseKey ;
    RegistroWin.Free ;
  end ;
end ;
procedure TForm1.Button1Click(Sender: TObject);
begin
  CreaNuovaAssociazione( 'mdl',
         '.MDL files program processor',
         'Applicazione di prova per file .MDL',
         'C:\WinNT\System32\Notepad.exe' ) ;
end ;
-- 
The Follet

Grazie per la risposta alla seconda domanda.
Per quanto riguarda il problema con la Memo, voglio fare in modo che non sia
possibile modificare, selezionare, copiare e tagliare il testo della memo
stessa. Infatti, nonostante metta la prorietą ReadOnly a True, cliccando con
il tasto destro del mouse viene visualizzato un menu che permette di
selezionare l'intero testo. Io vorrei disabilitare questo menu. Pensi sia
possibile?
Grazie in anticipo.

 possibile?
o metti la proprieta' enabled del memo a false, oppure gestisci i due eventi
onenter e onmousedown facendoli puntare a due eventi che applicano il fuoco
ad un altro controllo della form.
Ciao, Sandro

    RegistroWin.CloseKey;
Uh, che bruttura
with TRegistry.Create do try
  RootKey:= HKEY_CLASSES_ROOT;
  // eccetera
finally
  CloseKey;
  Free;
end;
E comunque sarebbe una buona idea usare, sulle piattaforme che lo 
supportano, la funzione RegOpenUserClassesRoot (non chiedere perchè)
-- 
Nato nel vizio, morto nel supplizio
Nato nel peccato, ad entrare sia invitato

with TRegistry.Create do try
A dire il vero, non la ritengo un granche' di correzione ;)
-- 
The Follet

A dire il vero, non la ritengo un granche' di correzione ;)
Beh, io odio avere troppe variabili locali, se posso farne a meno lo 
faccio. E poi, è un trucchetto carino (che uso ormai ovunque, anche in 
Javascript) e non abbastanza pubblicizzato


 Beh, io odio avere troppe variabili locali,
allora è proprio il caso che ripassi le nozioni basilari di programmazione.
Le variabili globali dovrebbero essere utilizzate solo per casi estremi
(nella teoria una variabile globale può sempre essere sostituita da una o
più variabili locali, nella realtà non è così) e mai a sproposito. In alcuni
casi violano anche alcuni principi della programmazione OO.
--
- Carlo -
c.b...@libero.it

Le variabili globali dovrebbero essere utilizzate solo per casi estremi
Non credo che si stia parlando di variabili globali.
Ridurre, in ogni caso, il numero di variabili utilizzato,
puo' essere comunque conveniente.  Il fatto che non si
utilizi una variabile locale non vuol dire che se ne
utilizzi necessariamente una globale.  Nel caso specifico,
non si utilizzerebbe ne' l'una, ne' l'altra.
Dovendo scegliere, se proprio si deve utilizzare una
variabile, si usa, ovviamente, una variabile locale (in
generale, quanto "piu' locale" e', tanto meglio e').
-- 
The Follet

 generale, quanto "piu' locale" e', tanto meglio e').
Condivido


programmazione. Le variabili globali
[...]
No no no no no, non parlavo di questo. Io promuovevo l'uso della cima 
dello stack come variabile oggetto temporanea (costrutto with), e lo 
sfruttare la SEH e la possibilità di chiamare esplicitamente il 
distruttore


No, io stavo solo puntualizzando sulla frase che avevo quotato.
Si chiama "citare (quotare? wot is "quotare"?) fuori contesto", e non è 
una cosa molto carina da fare, anche perchè hai travisato completamente 
il senso del mio messaggio
