Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - perseo

Pagine: 1 2 [3] 4 5 ... 18
31
Programmazione (Gambas 2) / Re: [risolto]query e lettere accentate
« il: 19 Dicembre 2010, 17:11:15 »
REGEXP è anche una funzione nativa di MySQL...

http://database.html.it/articoli/leggi/2665/mysql-e-regular-expression/


Dal quel poco che sono riuscito a capire mi pare che sia simile a LIKE però più performante.

Il problema delle accentate...
Potresti creare una function REPLACE da Gambas... che sostituire nella stringa di ricerca le accentate con dei punti "."
Quando MySQL esegue la Query... accetta tutti i caratteri quando incontra un punto... in questo modo il programma non va più in errore.

Ad esempio, una parola tipo 'Patanè', la passi alla funzione replace e diventa 'Patan.', che nella stringa di ricerca diventa "...WHERE cognome REGEXP 'Patan.';"

Ma bisogna approfondire ancora... secondo me c'è il modo anche per fare la ricerca sulle accentate.  ;)

32
Programmazione (Gambas 2) / Re: [risolto]query e lettere accentate
« il: 19 Dicembre 2010, 15:17:03 »
Non lo sapevo mica del LIKE... Sono andato sul WIKI e la cosa è documentata come dici tu: accetta solo gli ASCII.
Citazione
Attenzione! LIKE si occupa come solo dei caratteri ASCII. Per ricercare stringhe con il set di caratteri UTF-8, Usare la gb.pcre componenti.

Che cos'è la gb.pcre? Ho provato a leggere la documentazione ma mi ci sono incasinato...  ???
http://gambasdoc.org/help/comp/gb.pcre

Andando ad approfondire il concetto di RegExp... ho scoperto che attraverso questa classe è possibile eseguire dei controlli di espressioni regolari.
Ad esempio attraverso questo codice, viene verificato se la stringa inserita è un indirizzo_mail valido:
Esempio:

Spuntare il componente "gb.pcre"

Codice: gambas [Seleziona]
DIM myemail AS String
DIM validemail AS String
DIM re AS RegExp

myemail = "f...@bar"

re = new RegExp(myemail, "(?i)\\b[a-z0-9\\._%\\...@[a-z0-9._%\\-]+\\.[a-z]{2,4}\\b")
validemail = re.Text
if not validemail then
        print myemail & " is not a legal email address.\n"
else
        print myemail & "\n"
end if


Credo che sia un argomento sicuramente da approfondire...  ;)


PS.
Qui ho trovato del materiale per la conversione da Latin1 ad Utf8. A me interessa meno perché il DB lo creo di sana pianta (o al limite lo devo popolare solo in parte da un file .cvs).
http://en.gentoo-wiki.com/wiki/Convert_latin1_to_UTF-8_in_MySQL

33
Programmazione / Re: Strano errore sul modulo di avvio
« il: 19 Dicembre 2010, 03:00:14 »
Porca paletta...

se mi dimentico di chiudere la chiamata della funzione con le parentesi modulo.funzione() è chiaro che mi restituisce errore...  :bad:

Risolto!  :)

34
Programmazione (Gambas 2) / Re: [risolto]query e lettere accentate
« il: 19 Dicembre 2010, 02:09:58 »
Dex... ho avuto anch'io lo stesso problema... e proprio ieri ho aperto una discussione sul Charset di MySQL...

Per risolvere e continuare ad usare nelle query anche i caratteri accentati ti consiglio di modificare il charset della colonna in uft8. Io l'ho messo predefinito direttamente in tutto il db.

@Tornu... il tuo link si riferisce ai problemi dovuti all'apostrofo, non ai caratteri oltre il chr(127) tipo le lettere accentate: ò, à, è, ecc.  ;)

35
Programmazione / [RISOLTO] Strano errore sul modulo di avvio
« il: 19 Dicembre 2010, 02:02:53 »
Non capisco dove sia l'errore...
Seguendo il GOSH di fsurfing, anch'io faccio partire il mio progetto da un modulo di avvio.
Nella main di avvio richiamo una function (di un altro modulo) che mi deve restituire un integer, per verificare lo stato del database.

Cioè se nella main di avvio scrivo:
Codice: gambas [Seleziona]
IF modulo.funzione = 1 then 'fai qualcosa
--> mi da errore

Mentre invece se anziché come funzione, la richiamo come sub (senza restituzione di integer), gira correttamente.

Codice: gambas [Seleziona]
modulo.funzione
'fai qualcosa...


L'unica spiegazione che mi sono dato è che dalla main del modulo di avvio non posso richiamare funzioni di altri moduli... Ma non ci credo...  :hatecomputer:

PS. L'errore che mi restituisce nel caso la richiamo come funzione è: "Type mismatch: wanted Integer, got Function instead"  :rolleyes:

36
Altri linguaggi / Re: DB con MySQL
« il: 19 Dicembre 2010, 01:57:59 »
Grazie mille Leo,

nel frattempo mi sono dato una letta più approfondita al manuale di MySQL e sono giunto alla stessa conclusione... ed ho optato proprio per un database l'utf8:
Codice: gambas [Seleziona]
sSql = "CREATE DATABASE mio_db CHARACTER SET utf8 COLLATE utf8_general_ci;"


 :ok:

37
Altri linguaggi / DB con MySQL
« il: 17 Dicembre 2010, 22:50:59 »
Ciao ragazzi,

ormai con il mio programma gestionale sono a buon punto... Mi mancano un bel po' Forms, ma il grosso è fatto.
Tant'è che sto già dando un'occhiata alla riscrittura/pulizia delle routine e moduli di base.

Volevo anche rivedere un attimino la struttura di base del Database MySQL. Ci sono alcune cose che non mi sono del tutto chiare.
Qualcuno potrebbe spiegarmi l'importanza di scegliere il corretto Charset delle tabelle?
Ho notato che MySQL usa come predefinito per i campi di testo il formato cp1252... Secondo voi, dovendo usare il DB sotto Linux, è meglio se lo correggo in UFT-8?
Che differenza c'è tra i due? In termini di memoria, di velocità, ecc.

Non ci capisco molto di DB. Quindi mi farebbe piacere un vostro consiglio.  :)

Che succede quando mando in stampa dei dati di tabelle di MySQL, impostate a UTF-8, attraverso PDF-Writer, che ha i font impostati sul cp1252?

Grazie a tutti!  :)

PS. in rari casi ho la necessità di inserire dei caratteri in greco (alfa, beta, gamma, ecc.)...

38
OpenBar / Re: Auguri di Buone Feste!!!
« il: 17 Dicembre 2010, 22:38:28 »
Tanti Auguri e tanta Felicità a Tutti! :) :2birre:

39
Progetti degli utenti / Re: Report con PdfWriter
« il: 17 Dicembre 2010, 12:44:47 »
Se può esserti utile, io ho scaricato un programma per il confronto dei testi. Sicuramente lo conoscerai già, si chiama MELD (altrimenti anche Diffuse...). In pratica mette a confronto due (anche tre) file di testo e ti dice le aggiunte/modifiche sia dell'uno e dell'altro...



Io ho messo a confronto i due file: fpdf.php e tfpdf.php... ed è uscito fuori che le modifiche effettive sono relativamente poche.
Scorrendo con il cursore ti accorgi che la maggior parte delle differenze sono dovute al CaseSensitive, quindi non necessitano di essere ritoccate.

PS. ...senza nessunissima fretta!  :)

40
OpenBar / Re: chi l'ha visto?
« il: 17 Dicembre 2010, 09:46:52 »
MD,

mi raccomando! Tieniti lontano dalle stampanti malfunzionanti...

http://www.youtube.com/watch?v=aaycLWgMX5w

Anche a rivederlo di nuovo, è sempre come fosse la prima volta... ;D ;D

41
Progetti degli utenti / Re: Report con PdfWriter
« il: 16 Dicembre 2010, 20:21:32 »
Niente...  :hard:

Ero convinto di aver trovato un metodo rapido per inserire i caratteri greci. Invece ancora niente...

cmq ho trovato la libreria tfpdf, un'altra variante di fpdf, che accetta i caratteri unicode.
Purtroppo io non so fare il porting da php, quindi bisogna aspettare se MD ha voglia di implementare questa funzione ulteriore.
Per chi fosse capace metto qui il link.

metto qui il link:
http://www.phpcompta.be/doc/classtFPDF.html

42
Progetti degli utenti / Re: Report con PdfWriter
« il: 16 Dicembre 2010, 17:47:02 »
Golia,

credo di aver appena intuito una cosa eccezionale! Se è come penso stasera ti/vi racconto!  ;)

43
Progetti degli utenti / Re: Report con PdfWriter
« il: 16 Dicembre 2010, 17:00:18 »
Certo Golia! Evidentemente avevo scaricato una versione non troppo aggiornata! Ho visto che hai aggiunti tutti i caratteri, fino al 255°.  ;)

Copio/incollo quelli mancanti sul mio PdfWriter, dove ho fatto qualche altra modifica personale, e non vorrei commettere dimenticanze.  :ok:


Quello che mi chiedevo... ho notato che MD ha fatto il porting di una libreria php in gambas. Ma, conoscendo il linguaggio da cui attingere, lo stesso lavoro si può fare anche per altre librerie? Cioè, io posso anche importarne di altre oppure ci sono dei comandi da rispettare...

Molto più semplicemente... come si fa il porting da una libreria di un linguaggio per un altro?

44
Progetti degli utenti / Re: Report con PdfWriter
« il: 14 Dicembre 2010, 16:57:38 »
Sempre alla ricerca di miglioramenti... di questo meraviglioso progetto!

Se non ho capito male, credo che il Font predefinito di FPDF sia codificato in cp1252 (Western Europe), il quale ha solamente 255 caratteri disponibili...

Analizzando la ottima modifica apportata da Golia ho pensato di aggiungere direttamente una Function che restituisce la stringa modificata con tutti i Replace apportati. Ho aggiunti anche altri Replace, infatti io ho la necessità di stampare anche caratteri greci.
Il fatto è che finora mi sono limitato a sostituire "α", "β", "γ", ecc... con "a", "b", "g", ecc.

Codice: gambas [Seleziona]
Private Function convCP1252($txt As String) As String
  'righe aggiunte da golia
  $txt = Replace($txt, "€", Chr(128))
  $txt = Replace($txt, "‚", Chr(130))
  $txt = Replace($txt, "ƒ", Chr(131))
  $txt = Replace($txt, "„", Chr(132))
  $txt = Replace($txt, "…", Chr(133))
  $txt = Replace($txt, "†", Chr(134))
  $txt = Replace($txt, "‡", Chr(135))
  $txt = Replace($txt, "ˆ", Chr(136))
  $txt = Replace($txt, "‰", Chr(137))
  $txt = Replace($txt, "Š", Chr(138))
  $txt = Replace($txt, "‹", Chr(139))
  $txt = Replace($txt, "Œ", Chr(140))
  $txt = Replace($txt, "Ž", Chr(142))
  $txt = Replace($txt, "‘", Chr(145))
  $txt = Replace($txt, "’", Chr(146))
  $txt = Replace($txt, "“", Chr(147))
  $txt = Replace($txt, "”", Chr(148))
  $txt = Replace($txt, "•", Chr(149))
  $txt = Replace($txt, "–", Chr(150))
  $txt = Replace($txt, "—", Chr(151))
  $txt = Replace($txt, "˜", Chr(152))
  $txt = Replace($txt, "™", Chr(153))
  $txt = Replace($txt, "š", Chr(154))
  $txt = Replace($txt, "›", Chr(155))
  $txt = Replace($txt, "œ", Chr(156))
  $txt = Replace($txt, "ž", Chr(158))
  $txt = Replace($txt, "Ÿ", Chr(159))  
  $txt = Replace($txt, "é", Chr(233))
  $txt = Replace($txt, "è", Chr(232))  
  $txt = Replace($txt, "£", Chr(163))
  $txt = Replace($txt, "à", Chr(224))    
  $txt = Replace($txt, "ç", Chr(231))
  $txt = Replace($txt, "ì", Chr(236))    
  $txt = Replace($txt, "ò", Chr(242))
  $txt = Replace($txt, "°", Chr(176))        
  $txt = Replace($txt, "ù", Chr(249))
  $txt = Replace($txt, "§", Chr(167))
  'fine righe golia
  
  ' aggiunti da me...
  $txt = Replace($txt, "À", Chr(192))
  $txt = Replace($txt, "È", Chr(200))
  $txt = Replace($txt, "É", Chr(201))
  $txt = Replace($txt, "Ò", Chr(210))
  $txt = Replace($txt, "Ù", Chr(217))
  $txt = Replace($txt, "Ì", Chr(204))
  
  $txt = Replace($txt, "α", "a") '"alfa")
  $txt = Replace($txt, "β", "b") '"beta")
  $txt = Replace($txt, "γ", "g") '"gamma")
  $txt = Replace($txt, "δ", "d") '"delta")
  $txt = Replace($txt, "ε", "e") '"epsilon")
  $txt = Replace($txt, "μ", "micron")
  $txt = Replace($txt, "ω", "o") '"omega")
  
  Return $txt
End


Poi in ogni procedura che richiama un "txt" faccio fare immediatamente la conversione, così ho modificato cell, cell2, text, multicell, rotatetext... con una sola riga da inserire appena prima viene richiamata la prima "txt" nella procedura...
In questo modo il codice è più snello, e se volete modificare/aggiungere dei caratteri lo fate una volta sola in tutte le procedure.

Codice: gambas [Seleziona]
txt = convCP1252(txt)


Cercando un po' su internet poi ho scoperto che c'è una libreria identica a FPDF, la UFPDF, che ha come differenza quella di accettare la codifica UT8... molto più completa.

La mia domanda è... Si potrebbe sostituire la libreria FPDF con UFPDF oppure è un lavorone?

PS. perché non vedo come sia possibili poter stampare i caratteri greci usando la FPDF (se non cambiando l'encode del carattere, ma a quel punto dovrei rivedere tutti i caratteri normali se combaciano...). Ho visto che la FDPF accetta anche il cp1253 (ossia la codifica greca...)
Nel caso, come si cambia l'enc di un font in FPDF?

PPS. sempre in tema di caratteri, come faccio ad aggiungerne uno nuovo font oltre a quelli che già ci sono predefiniti?
Ho visto che c'è un comando addFont... ma non ho capito bene come usarlo da gambas (mi pare che sia predisposto per essere usato in PHP).
 :)

45
Programmazione / Re: Dichiarazione variabili pubbliche
« il: 13 Dicembre 2010, 17:13:14 »
In testa al Modulo dichiari la variabile...

Codice: gambas [Seleziona]
Public nome_variabile As tipo_variabile


Poi nel codice richiami la variabile così:

Codice: gambas [Seleziona]
nome_modulo.nomevariabile = ...



PS. io agli inizi ne ho fatte di peggio, ed ancora insisto...  ;D

Pagine: 1 2 [3] 4 5 ... 18