* * * *

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.
Aprile 19, 2024, 11:30:48 pm

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

480 Visitatori, 0 Utenti

Autore Topic: conversione archivio dbf (dbase III plus) a sqlite  (Letto 3605 volte)

casey

  • Newbie
  • *
  • Post: 43
  • Karma: +0/-0
Re:conversione archivio dbf (dbase III plus) a sqlite
« Risposta #15 il: Marzo 29, 2022, 07:54:05 pm »
allora,
creando un programma cnosole e incolllando il codice che mi hai detto tu,
mi viene fuori l'errore : Fatal: can't find unit Zcompatibility used by console_demo

se cancello zcompatibility,
mi danno errore gli altri ZConnection, ZDataset, SQLite3Conn

Apri "Analizzatore Progetti" e dove c'è la scritta "Pacchetto Richiesto" con il tasto destro del mouse scegli "AGGIUNGI" e poi nell'elenco che appare seleziona "zcomponent".

Ora vedrai che funziona.

Ciao

fatto,
ora non mi da più quegli errori,
ma mi da Error: Undefined symbol: WSregister.....

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:conversione archivio dbf (dbase III plus) a sqlite
« Risposta #16 il: Marzo 30, 2022, 05:37:34 pm »
scusami, ma questi pacchetti non dovevano essere già aggiunti installando zeos,
e quindi solo richiamati con uses?

.......................................

e poi non ho mai amato i software che pesano diversi giga.

Per quello che riguarda l'uso di "pacchetti", non è dissimile da gli altri linguaggi: le uses servono al compilatore per la definizione degli "oggetti", delle variabili, delle dichiarazioni, etc ....
L'inserimento nel "pacchetto richiesto" invece è necessario normalmente per componenti già compilate, altrimenti TUTTO dovrebbe essere ricompilato ogni volta: non è equivalente la compilazione di un pacchetto a se stante rispetto alla compilazione o al semplice riferimento (USES) di una unità anche se precompilata.

Chi programma in Lazarus, Delphi o altri linguaggi come anche Visual Studio è abituato a ciò.

Per quello che riguarda invece il pieno schermo del terminale o meno, è una problematica relativa al sistema operativo e a come il software compilato (in questo caso da Lazarus) usa il terminale.

Per quello che riguarda Lazarus sotto Windows 11, con una applicazione console, premendo ALT INVIO a me il terminale si pone a pieno schermo.

Discorso invece QB64 (che non conosco, però immagino sia un discendente di QBasic o di GWBasic): il fatto che uno si trovi bene in un ambiente o l'altro, o che piaccia un linguaggio o l'altro coinvolge diversi aspetti, primo dei quali è la sua conoscenza dell'ambiente e del linguaggio.

Ci sono decine, anzi centinaia di linguaggi (ovviamente stiamo parlando di programmazione) e sono nati proprio dall'insoddisfazione di quelli che già c'erano oppure dalla volontà di creare un proprio paradigma di programmazione (magari legato a scopi specifici come hardware, SO, etc...).

A differenza di tutti gli altri linguaggi di programmazione, che penso tutti noi abbiamo usato più di qualche volta (e che mi tocca usare ancora ogni tanto), il Pascal è un linguaggio strutturato e fortemente tipizzato (non è così invece il QB64, almeno se mantiene i canoni del Basic).

"Fortemente tipizzato" significa (in breve) che qualunque dato tu maneggi, il compilatore deve conoscerne le caratteristiche, in poche parole deve essere dichiarato "prima" e le sue caratteristiche non devono cambiare nel corso del programma. Una variabile dichiarata DOUBLE sarà DOUBLE per tutta la sua esistenza, e per essere usata dovrà essere compatibile con gli argomenti in cui verrà usata. Un array di interi rimarrà un array di interi, magari il un numero di elementi che varia nel corso del programma ma sempre di interi rimarrà.

Tralasciando lo "furbate" e le tecniche avanzate, ciò significa che devi avere chiaro quello che c'è da fare in quanto devi definire TUTTO ed è molto più "certo" ciò che ottieni. In fase di "debug", aggiornamento del codice, ampliamento, etc ...., sarà tutto molto più semplice.

Faccio un esempio su tutti: in Basic (A = B) può voler dire più di una "cosa" ....., assegnazioni e confronti (alla base del linguaggio) che si mischiano ....

Và bhe, sono state scritte pagine di trattati su questi argomenti, e tediare la ns. platea non mi sembra il caso.

Io ho usato prevalentemente il Pascal, anche se sono nato con il C (come la stragrande maggioranza di quelli della mia generazione), e devo dire che la programmazione in Pascal non ha trovare un paragone decente in altri linguaggi. Ma questo forse è dovuto dalla mia "forma mentis" ormai plasmata su ciò.

Poi devo dire sinceramente che avendo sviluppato prevelentamente sotto Windows, Delphi mi è stato da maestro e non c'era storia tra il VB6 ed il Delphi .... la velocità con cui creavi programmi e la facilità soprattutto con Delphi e la sua barra dei componenti già piena zeppa di oggetti di uso comune.

Comunque non posso giudicare QB64 perchè non lo conosco, ma ho come l'impressione che sia una specie di "ambiente" tipo "DEV C++" .... che è fatto in Delphi .... (QB64 sarà fatto in C++ immagino).

Lazarus incarna il concetto di Pascal: ogni versione nuova viene compilata con quella precedente ed è praticamente in puro Pascal.

Lazarus ha dei meriti, e anche delle sue criticità e, su questo sono d'accordo con te, conoscere linguaggio ed ambiente di programmazione pone delle difficoltà che si riescono a superare solo se si è fortemente motivati.

Purtroppo più di darti una mano se hai problemi noi del forum non possiamo fare. Come scrissi su alcuni post, purtroppo c'è un percorso da fare e un pegno da pagare e bisogna essere convinti di sostenerli entrambi.

Se fai un giretto alla base della montagna avrai comunque visto un bellissimo posto e con un dispendio di energie contenuto. Ma solo se avrai l'ardire di scalarla la montagna con grosso dispendio di energie potrai avere il "massimo".

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

casey

  • Newbie
  • *
  • Post: 43
  • Karma: +0/-0
Re:conversione archivio dbf (dbase III plus) a sqlite
« Risposta #17 il: Marzo 30, 2022, 07:15:10 pm »
scusami, ma questi pacchetti non dovevano essere già aggiunti installando zeos,
e quindi solo richiamati con uses?

.......................................

e poi non ho mai amato i software che pesano diversi giga.

Per quello che riguarda l'uso di "pacchetti", non è dissimile da gli altri linguaggi: le uses servono al compilatore per la definizione degli "oggetti", delle variabili, delle dichiarazioni, etc ....
L'inserimento nel "pacchetto richiesto" invece è necessario normalmente per componenti già compilate, altrimenti TUTTO dovrebbe essere ricompilato ogni volta: non è equivalente la compilazione di un pacchetto a se stante rispetto alla compilazione o al semplice riferimento (USES) di una unità anche se precompilata.

Chi programma in Lazarus, Delphi o altri linguaggi come anche Visual Studio è abituato a ciò.

Per quello che riguarda invece il pieno schermo del terminale o meno, è una problematica relativa al sistema operativo e a come il software compilato (in questo caso da Lazarus) usa il terminale.

Per quello che riguarda Lazarus sotto Windows 11, con una applicazione console, premendo ALT INVIO a me il terminale si pone a pieno schermo.

Discorso invece QB64 (che non conosco, però immagino sia un discendente di QBasic o di GWBasic): il fatto che uno si trovi bene in un ambiente o l'altro, o che piaccia un linguaggio o l'altro coinvolge diversi aspetti, primo dei quali è la sua conoscenza dell'ambiente e del linguaggio.

Ci sono decine, anzi centinaia di linguaggi (ovviamente stiamo parlando di programmazione) e sono nati proprio dall'insoddisfazione di quelli che già c'erano oppure dalla volontà di creare un proprio paradigma di programmazione (magari legato a scopi specifici come hardware, SO, etc...).

A differenza di tutti gli altri linguaggi di programmazione, che penso tutti noi abbiamo usato più di qualche volta (e che mi tocca usare ancora ogni tanto), il Pascal è un linguaggio strutturato e fortemente tipizzato (non è così invece il QB64, almeno se mantiene i canoni del Basic).

"Fortemente tipizzato" significa (in breve) che qualunque dato tu maneggi, il compilatore deve conoscerne le caratteristiche, in poche parole deve essere dichiarato "prima" e le sue caratteristiche non devono cambiare nel corso del programma. Una variabile dichiarata DOUBLE sarà DOUBLE per tutta la sua esistenza, e per essere usata dovrà essere compatibile con gli argomenti in cui verrà usata. Un array di interi rimarrà un array di interi, magari il un numero di elementi che varia nel corso del programma ma sempre di interi rimarrà.

Tralasciando lo "furbate" e le tecniche avanzate, ciò significa che devi avere chiaro quello che c'è da fare in quanto devi definire TUTTO ed è molto più "certo" ciò che ottieni. In fase di "debug", aggiornamento del codice, ampliamento, etc ...., sarà tutto molto più semplice.

Faccio un esempio su tutti: in Basic (A = B) può voler dire più di una "cosa" ....., assegnazioni e confronti (alla base del linguaggio) che si mischiano ....

Và bhe, sono state scritte pagine di trattati su questi argomenti, e tediare la ns. platea non mi sembra il caso.

Io ho usato prevalentemente il Pascal, anche se sono nato con il C (come la stragrande maggioranza di quelli della mia generazione), e devo dire che la programmazione in Pascal non ha trovare un paragone decente in altri linguaggi. Ma questo forse è dovuto dalla mia "forma mentis" ormai plasmata su ciò.

Poi devo dire sinceramente che avendo sviluppato prevelentamente sotto Windows, Delphi mi è stato da maestro e non c'era storia tra il VB6 ed il Delphi .... la velocità con cui creavi programmi e la facilità soprattutto con Delphi e la sua barra dei componenti già piena zeppa di oggetti di uso comune.

Comunque non posso giudicare QB64 perchè non lo conosco, ma ho come l'impressione che sia una specie di "ambiente" tipo "DEV C++" .... che è fatto in Delphi .... (QB64 sarà fatto in C++ immagino).

Lazarus incarna il concetto di Pascal: ogni versione nuova viene compilata con quella precedente ed è praticamente in puro Pascal.

Lazarus ha dei meriti, e anche delle sue criticità e, su questo sono d'accordo con te, conoscere linguaggio ed ambiente di programmazione pone delle difficoltà che si riescono a superare solo se si è fortemente motivati.

Purtroppo più di darti una mano se hai problemi noi del forum non possiamo fare. Come scrissi su alcuni post, purtroppo c'è un percorso da fare e un pegno da pagare e bisogna essere convinti di sostenerli entrambi.

Se fai un giretto alla base della montagna avrai comunque visto un bellissimo posto e con un dispendio di energie contenuto. Ma solo se avrai l'ardire di scalarla la montagna con grosso dispendio di energie potrai avere il "massimo".

Ciao

per l'errore Error: Undefined symbol: WSregister....  hai idea del motivo?

Ovviamente bisogna essere molto motivati come dici tu,
e per tornare al top come i bei tempi, dovrò impegnarmi moltissimo.
Sono anche combattuto se buttarmi su lazarus che mi piace molto, o dedicarmi ad altri linguaggi come C# python e Java, che ormai sono quelli più usati,
C# è il nuovo JAVA, JAVA è quello più richiesto nel mondo del lavoro, e python anche se è interpretato, è però un linguaggio semplice, immediato, ed è molto potente,
è un linuaggio ricco, e devo dire che mi appassiona molto.
Per il web voglio studiarmi bene PHP e JAVASCRIPT,
e forse nel 2023 sarò pronto per riprendere a livello professionale,
al momento me la cavicchio, ma ho parecchie lacune.

Cmq si, QB64 è la versione free e moderna di QuickBasic, con tante aggiunte ovviamente,
compila i vecchi programmi scritti in QB senza alcuna modifica al codice,
è scritto in C++, ed in pratica traduce i programmi QB in C++ e poi li compila con GCC/MINGW
multipiattaforma, a 64bit, ed è molto veloce,
è un pò come il free pascal, ma più semplice, e permette anche di usare librerie di C++, SQL, ecc.
Per fare programmi Console lo trovo perfetto,
purtroppo non ha un progetto come Lazarus dietro, e quindi conviene utilizzarlo solo per programmi console.
Anche FreeBasic è interessante, ma a differenza di QB64, la sintassi cambia,
è più simile al C, e anche le variabili vanno dichiarate prima, ma resta possibile lo stesso compilare i programmi scritti in QB lanciando il compilatore con il parametro -lang qb.
Il compilatore di FreeBasic è molto veloce, multipiattaforma, compila persino per l'ormai inutile DOS, a 32 bit usando l'extender cwsdpmi come il free pascal, mettendosi così alle spalle il limite della memoria convenzionale.
Come velocità, sembra essere persino più veloce del QB64,
e incredibile ma vero, le prime veraioni sobo state acritte con Visual Basic 1.0 per DOS,
che con la versione 1.0 aveva sostituito proprio il QB Microsoft originale,
poi ovviamente Visual Basic nelle versioni successive, funzionava solo su windows.
Purtroppo nemmeno FreeBasic ha alle spalle progetti come Lazarus,
ed è un vero peccato, perchè sono linguaggi molto validi,
e sarebbe stato bello avere una specie di Visual Basic GPL multipiattaforma.
« Ultima modifica: Marzo 30, 2022, 10:06:09 pm da casey »

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:conversione archivio dbf (dbase III plus) a sqlite
« Risposta #18 il: Marzo 30, 2022, 11:05:03 pm »
per l'errore Error: Undefined symbol: WSregister....  hai idea del motivo?

No, così non mi dice nulla. Riporta l'errore completo, oppure una schermata dell'errore.

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

 

Recenti

How To

Utenti
  • Utenti in totale: 785
  • Latest: gmax
Stats
  • Post in totale: 18772
  • Topic in totale: 2233
  • Online Today: 609
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 480
Total: 480

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.