* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Novembre 24, 2024, 11:32:24 pm

Inserisci il nome utente, la password e la durata della sessione.

40 Visitatori, 1 Utente
 

Autore Topic: RISOLTO_ORDINARE UNA STRINGGRID MEDIANTE LA PROPRIETA' ColumnClickSorts  (Letto 3025 volte)

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2389
  • Karma: +10/-0
Re:RISOLTO_ORDINARE UNA STRINGGRID MEDIANTE LA PROPRIETA' ColumnClickSorts
« Risposta #15 il: Maggio 29, 2023, 03:17:08 pm »
Ah, io son pigro.
Ci metto 10 giorni a farlo fare al computer.
 ;D
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1401
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:RISOLTO_ORDINARE UNA STRINGGRID MEDIANTE LA PROPRIETA' ColumnClickSorts
« Risposta #16 il: Maggio 29, 2023, 04:11:14 pm »
.... è venuto fuori che l'aver passato anni ed anni a fare data entry e a cliccare su caselle e message box su software pensati  a tutto eccetto che all' ergonomia mi ha causato dei problemi purtroppo irreversibili .
Anche queste sono cose da tenere in conto quando si progetta un software con un data entry massiccio.

I software hanno sicuramente una importanza sulla cosa, ma prima di tutto serve studiare la postazione di lavoro. Nella stragrande maggioranza dei casi la postazione di lavoro è fuori da tutti i "crismi" per un corretto uso.

Appoggia gomiti (quasi tutte le sedie da ufficio serie c'è l'hanno), alzo per i polsi, tastiera ergonomica, monitor regolabile e basculante (è praticamente impossibile che un supporto fisso sia adeguato per tutti), piano scrivania non lucido ne riflettente, supporto per i piedi, schienale sedia e seduta adeguati per il lavoro da svolgere.
Corretto ritmo uso PC/monitor e pause (obbligatorie per legge).

Questo è il minimo per non rimpiangere poi la salute andata ... e parla uno che alle volte si dimentica pure di mangiare passando anche 7 ore davanti al monitor senza neanche ricordarsi di respirare  :o

Comunque ormai i "dataentry" sono per lo più automatizzati e la maggior parte del lavoro è di controllo. E' vero che lavoro manuale fortunatamente c'è ne ancora, ma non dovrebbe essere così ossessionante come nel passato.

Alle volte mi capita (e oggi è stata una di quelle volte) di andare da un cliente che mi chiede (sul software che dovrei sviluppargli) i dataentry per la produzione (sviluppo sw industriali per il controllo di qualità) ... quando ha già un controller di produzione da cui si possono attingere tutti i dati in automatico. Ridendo gli dico che se non vuole la presa in automatico il software gli costa tre volte tanto per il dataentry. E guarda caso il dataentry diventa magicamente non necessario  ;)

Auguri per le magagne e alla prossima.

Ciao

:) Ogni alba è un regalo, ogni tramonto è una conquista :)

Avogadro

  • Full Member
  • ***
  • Post: 217
  • Karma: +0/-0
Re:RISOLTO_ORDINARE UNA STRINGGRID MEDIANTE LA PROPRIETA' ColumnClickSorts
« Risposta #17 il: Maggio 29, 2023, 07:54:48 pm »
"Poggiare i gomiti": il doc ha detto che questo è stato il mio problema , un pessima postura lì sulla scrivania, stare con i gomiti poggiati.

Inutile stare qui a piangere sul latte verstao, ormai è andata così, pazienza. Il fatto è che la scrivania era ed è un banco arrangiato alla meno peggio, la sedia una di quelle da sala d'attesa - ed era già tanto averla avuta -, il mouse ergonomico l' ho dovuto compare di tasca mia dai cinesi, così come il monitor.

Ma la parte peggiore il software: un mare di dialog box su cui cliccare, una dialog box per ogni operazione, caselle di testo striminzite - scrivere in wordpad e poi copiare all' interno - , scroll bar spesse pochi micron, da cercare con la lente e così via . Protestare ? Non è servito a nulla, il periodo è questo, non è che ci sia granché da fare  per migliorarlo.

Morale: rimpiango il vecchio fortran con i file di testo da dare in input, con monitor con i caratteri verdi e lo sfondo nero , ma erano altri tempi, forse migliori di questi, non so, c'erano tante speranze .

Proseguendo: "data entry automatizzato", è un progetto su cui mi sto applicando adesso; la ratio è far trasmettere i dati alla macchina in automatico sul gestionale;   le nuove macchine in pratica lo fanno tutte , rimane il problema di sincronizzare i formati di data e tempo delle varie postazioni pc - ossia, ci sono tante macchine che mandano i dati al gestionale,  macchine di produttori ed anni diversi, con sistemi operativi diversi,  e per evitare casini, data e tempo devono avere gli stessi formati ed essere sincronizzati.

Rimane alla fine il probelma della validazione dei dati raccolti dal gestionale:  ed è lì che si passano le giornate.
« Ultima modifica: Maggio 29, 2023, 08:32:26 pm da Avogadro »

Avogadro

  • Full Member
  • ***
  • Post: 217
  • Karma: +0/-0
Re:RISOLTO_ORDINARE UNA STRINGGRID MEDIANTE LA PROPRIETA' ColumnClickSorts
« Risposta #18 il: Giugno 01, 2023, 02:33:09 am »
Nel data entry spesso vanno inseriti dei dati che sono il risultato di calcoli .

Nei casi piu' semplici c'è sempre a portata di click una calcolatrice e il gioco è fatto ; esistono poi varie librerie che mettono a disposizione di un box di input una calcolatrice che si attiva pigiando l'apposito tasto laterale .

Purtuttavia c'è il problema della tracciabilità, in alcuni ambiti  è di fatto una vera ossessione, alias "come hai ottenuto questo risultato? dove sono i passaggi ? "

Pertanto in tanti gestionali sono tracciati tutti i passaggi dell' utente: tutte el cose che fatto vengono registrate da qualche parte  affinché poi posso essere riviste qualora ci sia la necessità.

Questo appesantisce di molto i sistemi (software piu' hardware) ma è una prassi che ormai ha preso piede e che h auna sua ragione d'essere.; ad esempio, se un'apparecchiatura si rompe, il tecnico deve poter scorre indietro nel tempo tutte le operazioni fatte e vedere così dove si è creato il problema.

Tornando al data entry, nel caso di dati che vengono da calcoli è opportuno garantire la loro tracciabilità; questo puo' essere facilmente fatto usando come input non il dato finale, ma la formula,o meglio l'espressione matematica,  che l'ha generato; un esempio

totale=prezzo base +iva al 20 % => 100+100*0.2 =120

quindi si digita 100+100*0.2 e il software deve calcolare in automatico 120 e così ad un controllo futuro è tracciabile da dove arrivi quel 120

Si tratta quindi di fare il parsing di una stringa e poi fare i calcoli in automatico

Senza riscoprire la ruota, sia su delphi sia su lazarus ,- e ovviamente anche su altri sistemi, sono già da sempre disponibili dei parser di espressioni matematiche , basta prenderli da une qualche libreria ed usarli - un tempo se ne trovavano a iosa  sul web,  poi man mano nel tempo sono scomparsi  sepolti appunto dalla sabbia del tempo .

Cio' premesso su rosetta code vi è una paginetta che illustra come questo problema viene affrontato dai diversi linguaggi di programamzione. :

https://rosettacode.org/wiki/Arithmetic_evaluation

E c'è una paginetta dedicata a delphi:

https://rosettacode.org/wiki/Arithmetic_evaluation/Delphi

Non tutto è perduto, ancora si trovano cose interessanti sul web e non solo bolle di confirmation bias .

.
« Ultima modifica: Giugno 01, 2023, 02:37:17 am da Avogadro »

alexarmato66

  • Full Member
  • ***
  • Post: 147
  • Karma: +1/-0
Re:RISOLTO_ORDINARE UNA STRINGGRID MEDIANTE LA PROPRIETA' ColumnClickSorts
« Risposta #19 il: Giugno 04, 2023, 03:07:21 pm »
WOW, grazie Avogadro!!

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:RISOLTO_ORDINARE UNA STRINGGRID MEDIANTE LA PROPRIETA' ColumnClickSorts
« Risposta #20 il: Giugno 04, 2023, 05:31:58 pm »
visto l'argomento, volevo anche segnalare questa classe

https://wiki.lazarus.freepascal.org/How_To_Use_TFPExpressionParser

dategli un'occhiata che forse risolve il problema
Imagination is more important than knowledge (A.Einstein)

 

Recenti

How To

Utenti
  • Utenti in totale: 803
  • Latest: maXim.FI
Stats
  • Post in totale: 19189
  • Topic in totale: 2289
  • Online Today: 97
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 1
Guests: 40
Total: 41

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.