Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: bonmario - Dicembre 12, 2012, 07:55:18 am

Titolo: Incollare in una TStringGrid
Inserito da: bonmario - Dicembre 12, 2012, 07:55:18 am
Ciao,
in un progetto, dovrei dare all'utente la possibilità di fare l' "incolla" di alcune celle copiate da un foglio di calcolo. So in anticipo quante sono le colonne, ma non so quante saranno le righe.
Qualcumo mi sa dire se si può fare e come?

Grazie, Mario

Titolo: Re:Incollare in una TStringGrid
Inserito da: nomorelogic - Dicembre 12, 2012, 09:10:48 am
non mi preoccuperei del numero delle righe, di sicuro le trovi tutte nella clip separate da #13, #10 o tutti e due insieme in sequenza.
devi capire cosa c'è nella clipboard dopo il copia
fatta già la prova (su office, libreoffice e openoffice con celle formattate, bordate, con sfondo colorato, font alterato e non) di copiare dal foglio di calcolo ed incollare in un normale text editor?
probabilmente trovi del semplice testo formatato ma, se nelle celle ci sono immagini o addirittura oggetti ole...
sono prove da fare quando fai copia/incolla (uno potrebbe aver fatto "copia" di un bitmap): così puoi fare una procedura che riconosce i contenuti (della clipboard) non validi per la tua applicazione e puoi rifiutarti di fare l'incolla.

una volta capito cosa ti trovi nella clip, puoi partire da qua
http://wiki.freepascal.org/Clipboard
Titolo: Re:Incollare in una TStringGrid
Inserito da: bonmario - Dicembre 12, 2012, 06:18:47 pm
Grazie, vedrò cosa riesco a fare.
Intanto oggi, mi hanno rispiegato per bene la situazione:
- una ditta esterna gli fornisce una volta ogni 15 giorni un documento Writer OpenOffice, quindi non è un foglio di calcolo. Tale documento, contiene al suo interno una tabella di 10 colonne ed un numero variabile di righe
- l'utente dovrebbe fare un copia e incolla della tabella nel mio programma
- il mio programma, basandosi sulla tabella incollata, dovrà emettere dei risultati

Faccio delle prove e, se mi blocco da qualche parte, torno a chiedere qui !!!

Grazie ancora, Mario