1
Generale / Re:Limite massimo righe di un dbmemo o di un memo
« Ultimo post da tito_livio il Maggio 09, 2024, 02:05:58 pm »Riprendendo il discorso di qualche giorno fa:
Così funziona, se si eccede con le linee si può rimediare con il Backspace. In qualche raro caso però mi sono trovato con l'impossibilità di modificare il testo anche se le linee erano 6.
Anche questa soluzione funziona anche se è un po' più complicata da produrre e mantenere:
Per quanto poi riguarda:
Ho deciso di mettere anche questo controllo, non si sa mai. Con la differenza che impedisco di stampare se le linee eccedono il massimo.
Grazie a tutti e alla prossima
Dovete usare l'evento "keypress":Codice: [Seleziona]procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #8 then // <- lascia usare il backspace (modificato)
exit;
if Memo1.Lines.Count > 6 then
Key := #0;
end;
Così funziona, se si eccede con le linee si può rimediare con il Backspace. In qualche raro caso però mi sono trovato con l'impossibilità di modificare il testo anche se le linee erano 6.
Anche questa soluzione funziona anche se è un po' più complicata da produrre e mantenere:
Ciao,
la butto lì: ti crei un'altra memo nascosta, in cui copi la memo originale quando questa è ok.
Nel momento in cui ad esempio l'utente aggiunge una riga in testa, tu fai il check, e questo da esito negativo, copi il contenuto della memo nascosta in quella originale. Se invece la modifica passa il check, fai il contrario
Ciao, Mario
Per quanto poi riguarda:
in alternativa si potrebbe fare il conto delle righe nel momento del salvataggio (ed impedire di andare avanti se il memo ha più dighe di quelle consentite)
Ho deciso di mettere anche questo controllo, non si sa mai. Con la differenza che impedisco di stampare se le linee eccedono il massimo.
Grazie a tutti e alla prossima