Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: darione - Maggio 26, 2015, 01:03:07 pm

Titolo: componente browser - come andare all'ancora desiderata?
Inserito da: darione - Maggio 26, 2015, 01:03:07 pm
Sto usando il componente lazarus\components\turbopower_ipro,
quello cioè breowser che visualizzza una pagina web.

Ecco qua il mio programmino (quando sarà pronto poi vi proporrò di metterlo tra i "Progetti Lazarus") di ricerca testuale.

http://snag.gy/7dd7s.jpg

Sulla destra ho un pannello di lettura. Vorrei aprirlo sull'ancora precisa.
Ma non riesco a farlo perché il testo html lo carico - per vari motivi - prima dentro una stringlist e poi lo passo al browser, cioè non gli dico apri "pippo.html#miaAncora" ma insomma carico pippo.html e glielo passo (faccio così perché negli esempi dati in \examples di questo kit ho trovato questa modalità in cui funzionava il click sui link che mi permetteva di avere la stringa href cliccata ... un casino ma funziona e qundi non posso non usarlo a questo modo almeno per ora).

Ora dopo aver quindi visualizzato pippo.html, vorrei che cliccando un bottone (tanto per essere chiari) andassi subito all'inzio del testo in neretto, dove ho già depositato una bella ancora.

Ma non riesco.

Qualcuno di voi ha avuto a che fare con una cosa del genere e per questo componente. Se magari ce ne stanno altri di migliori a vostro dire, indicatemeli pure (anche se preferirei per ora usare questo data la fatica che ho fatto per sistemarlo ad hoc per le mie esigenze...).

Grazie in anticipo :-D
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: nomorelogic - Maggio 26, 2015, 01:08:13 pm
è un programma per la ricerca sul desktop?
molto interessante


il componente non lo conosco ma mi domando se premendo il tasto TAB ti faccia navigare tra le varie ancore
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: darione - Maggio 27, 2015, 03:06:10 pm
No, il componente browser non mi fa andare col TAB da un'ancora ad un'altra ...

Beh se non riesco a farlo per ora lo lascerò così ...

Si il programma è per il desktop, ma più avanti ricercherà anche su siti web, dato che il formato principale che elaboro è proprio l'html.

Non so se la mia percezione è giusta e qualcuno di voi può confermarla, ma mentre di programmi stile grep ve ne sono, di programmi che facciano cercare (non banalmente una sola parola intendo) in raccolte di testi letterari non ve ne sono molti. Voglio dire ... uno ha una serie di pdf, o di epub, o di docx, o di odt, o normali html o testo salvati in una serie di cartelle. E con che ci cerca dentro?

Io in rete ho trovato una valanga di roba teoria sul text retrieving ecc ecc ... ma alla fine un programmuccio che faccia una banale ricerca di più parole tra loro vicine, e con qualche regola (senza necessariamente conoscere le espressioni regolari) e che porti assieme i risultati, non l'ho trovato free, o open, eppure a pagamento ho trovato poco.
L'unico trovato decente era questo:
http://www.likasoft.com/it/document-search/index.shtml
O questo anche se vecchio e solo mac e mi pare non l'abbiano aggiornato:
http://iverbum.en.softonic.com/mac
E comunque hanno molte limitazioni nella logica di ricerca(se voglio cercare punti dove c'è una parola esatta (intera) ed un'altra non intera ed un'altra che sia maiuscola, beh non si può fare).

Altri ne ho trovati ben pochi ...

Ma come mai non vene sono? boh!! o forse non so trovarli io ...








Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: nomorelogic - Maggio 29, 2015, 11:28:39 pm
a dire il vero cercavo qualcosa del genere anche io
neanche io ne ho trovato uno come serviva a me
mi piacerebbe che ricercasse all'interno anche di file .odt e pdf...
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: darione - Luglio 03, 2015, 01:19:30 pm
a dire il vero cercavo qualcosa del genere anche io
neanche io ne ho trovato uno come serviva a me
mi piacerebbe che ricercasse all'interno anche di file .odt e pdf...

Io cerco in 6 formati: pdf, epub, html, txt, docx, odt.

Il mio prg è cross win/mac/linux e vaglia pdf, epub, html, txt, docx, odt.
Non è tutto pascal, la logica di indicizzazione, ricerca e recupero del testo è in python3.

Al momento appare così (sfonfo bianco, ma i colori sono impostabili):
http://snag.gy/s66Pr.jpg

La mia finalità è quella di ritrovare un punto del testo, tra vari testi chiaramente, che a memoria mi ricordo ma non so esattamente dove (perché sono tanti i testi, o sono molto vasti) ... e così l'unica è arrivarci con due o tre parole (o porzioni, chiaro, o con vari filtri inzia per, termina per, contiene, parola esatta, parola simile,ecc) giuste da ricercare ...

Beh vi aggiorno sugli sviluppi più avanti. Non mi interessa lucrarci: l'idea è che sia freeware, o forse anche deciderò se farlo opensource.

Quando è pronto ve lo giro in test ...

Darione

 



Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: bonmario - Luglio 03, 2015, 05:32:42 pm
Non so se la mia percezione è giusta e qualcuno di voi può confermarla, ma mentre di programmi stile grep ve ne sono, di programmi che facciano cercare (non banalmente una sola parola intendo) in raccolte di testi letterari non ve ne sono molti. Voglio dire ... uno ha una serie di pdf, o di epub, o di docx, o di odt, o normali html o testo salvati in una serie di cartelle. E con che ci cerca dentro?

Ciao, prova ad andare qui: http://digilander.libero.it/bonmario/uty/download.html
e scarica il 3° nella tabella: "CercaInOoo_Pdf" serve proprio per fare le ricerche nei files di OpenOffice/LibreOffice e nei Pdf.

Ciao, Mario
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: darione - Luglio 08, 2015, 05:04:38 pm
Scusate, è la seconda volta che invio il post ma non lo vedo ...
Ci sono problemi tecnici nel blog?
Darione
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: darione - Luglio 08, 2015, 05:05:33 pm
Scusate, provo il bottone rispondi ...
Darione
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: darione - Luglio 08, 2015, 05:06:56 pm
Ora funziona, ok.
Probabile che prima io sia stato troppo tempo a scrivere nel il post, prima di premere "invia post"? c'è un tempo minimo?

Darione
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: darione - Luglio 08, 2015, 05:18:17 pm
Riprovo a scrivere ...


Grazie bonmario,
ho visto il tuo programma, utilissimo per la ricerca di chiavi particolari in molti files.

Tuttavia la mia necessità è un po' differente.

Ad esempio in questa figura ...

http://snag.gy/IWVhk.jpg

Supponiamo di voler cercare tutti i punti in una serie di opere - ammettendo di non ricordare a mente in quale esatto libro e/o autore tra i tanti ho letto quella cosa che ora sto ricercando - dove ad esempio si parlava del conflitto inevitabile tra Atene e Sparta. Non è una cosa che puoi soddisfare con un grep classico che ti dice in quali files sono presenti singolarmente le stringhe richieste ...
Ci vuol per forza un tipo di ricerca testuale che trovi i punti dove queste parole sono tra di loro vicine, in uno stesso contesto cioè, perché magari queste stringhe sono ampiamente distribuite qua e là nel testo, ma in contesti differenti.

Io non trovo in rete programmi di questo tipo, se non quelli che avevo indicato ...
Darione
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: bonmario - Luglio 08, 2015, 09:22:42 pm
Ok, scusami, non avevo capito. Col mio programma in effetti puoi solo sapere se un particolare documento contiene tutte le parole che stai cercando, ma magari queste sono sparse nel documento, e non nello stesso contesto.
A questo punto, forse ti conviene farti un algoritmo tuo con cui fai la ricerca.
La butto lì, perché non le conosco, ma le espressioni regolari, potrebbero servirti per il tuo scopo?

Ciao, Mario
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: darione - Luglio 09, 2015, 09:36:14 am
Di niente Bonamario. Anzi il tuo programma lo userò comunque per quadrare delle ricerche sul mio.

Il programma me lo sto facendo, appunto perché non mi pare che ce ne siano di simili in giro. Putroppo ho spesso la paura di sprecare tempo, nel senso che magari ci sono eccome programmi simili (dunque rischio di darmi di bischero perché reinvento la ruota), ma non so come trovarli in rete. Anche perché la ricerca testuale è spesso intesa alla grep e quindi trovo tutti programmi di quel tipo, ma non come l'intendo io ... ad eccezione di Archiviarius 3000 (che comunque ha solo filtri generici e non per parola singola) che è a pago ... poi non ho appunto trovato nulla.
Ma è così complicato ricercare nel testo ?? beh, banale non lo è, lo so ...

Le espressioni regolari sono ancora una cosa da ricerca alla grep pura ... una sequenza e la becco ... come se tu cercassi in un DNA una sequenza di basi ... il grep classico ... io le userò solo nell'ambito della singola parola, ma non per il resto ..

Darione






Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: bonmario - Luglio 09, 2015, 11:02:22 am
Prova a dare un occhio a questo:
https://www.mythicsoft.com/agentransack

Fa le ricerche in parecchi tipi di files, tra cui anche quelli di Ooo.
Ha molte opzioni, io lo uso a livello base. Se non ricordo male, c'è solo la versione per windows.

Ciao, Mario
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: darione - Luglio 09, 2015, 03:09:24 pm
Grazie Mario,
ho provato 10 minuti ... la versione di base no, ma la versione pro a pago, FilelocatorPro, è quella che più si avvicina ai miei scopi. Mi pare molto buona, insomma.

Peccato scade tra 30 giorni, sob ... altrimenti si deve comprarlo a 49,95 dollari. E' poco, vero ... vado a memoria ...  è la stessa fascia di prezzo di Archiviarius3000, ed entrambi sono solo Windows ... come dire, è questo tipo di mercato insomma.

Grazie per l'ottima segnalazione.
Se tu o altri ne conosceste altri di programmi simili, mi farebbero piacere altre segnalazioni. :-)

Darione
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: nomorelogic - Luglio 09, 2015, 03:16:44 pm
l'argomento è interessante ma oramai credo che sia OT rispetto al titolo
se seguiranno altre risposte, forse sarà meglio aprire un nuovo thread :)

io ho sentito parlare di lucene (implementato in java credo)
https://lucene.apache.org/core/ (https://lucene.apache.org/core/)

ma non so se risponde alle necessità che dite voi


Edit:
ho appena scoperto che c'è un porting per Delphi
https://sourceforge.net/projects/mutis/ (https://sourceforge.net/projects/mutis/)
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: darione - Luglio 10, 2015, 10:45:53 am
Eh si, ce ne sono di varie librerie per processare il testo ... questa non la conoscevo ... le avevo anche cercate in Python ... ma alla fine erano parecchio complesse, anche perché hanno tutte quelle cose sulla tokenizzazione, riconoscimenti semantici ecc ecc. Un po' come questa in Java ... sarà ottima per carità, sarà che è in Java, ma non saprei da che parte rifarmi.  Io pensai, che si, va beh, alla fine librerie ci sono anche, ma son complicate perché sono per ambiti molto più generali di quello che mi serve nel mio piccolo , e allora faccio prima a rifarmi qualcosa di più semplice da solo ... tenendo presente che si, ho fatto in python la logica per ora, però poi volevo tradurla anche in puro pascal (chiaro, per un discorso di velocità).
Comunque si, ormai la cosa è offtopic, quando tornerò sul forum aprirò un nuovo topic per quest'argomento.

Nei prossimi giorni mi vedo per bene il programma che mi ha segnalato Bonmario, che è valido.
Ciao a tutti e grazie :-)
Darione
Titolo: Re:componente browser - come andare all'ancora desiderata?
Inserito da: nomorelogic - Luglio 10, 2015, 12:17:01 pm
ho dato un'occhiata al porting per delphi e devo dire che in effetti la libreria ha la sua complessità

dall'altro lato, da quello che si legge in giro sulla rete, tutti riconoscono le performance di questo tipo di ricerca, che poi se uno considera che è stata implementata in java, vuol dire che la libreria è complessa ma l'analisi deve essere buona sul serio.

detto questo se svilupperai una tua ricerca vorrei consigliarti di incapsulare il tutto in una classe di modo da facilitare il riuso del codice :)