Newsgroup: it.comp.lang.delphi
Titolo: cambiare langdriver BDE a runtime

Ciao a tutti,
per una modifica devo riuscire a cambiare il langdriver del BDE a
runtime. Ossia quando parte il prg lo deve modificare, e alla chiusura
devo ripristinare il precedente.
Non ho trovato info, qualcuno mi sa cortesemente dare qualche dritta?
Grazie mille a tutti.
 
--
mnoga

 qualcuno mi sa cortesemente dare qualche dritta?
 
il fle hlp del bde...?
 
A.

 A.
 
--
mnoga

 vedo come cambiarli da database explorer..
 
Non parlo della guida del BDE Administrator.
Parlo della guida delle API di bde...
 
A.

 A.
 
--
mnoga

> ehm... dove la trovo? :|
 
google?
 
A.

 runtime.
Parti da queste pagine:
http://delphi.about.com/od/dbbde/BDE_Delphi_Programming.htm
 
ci sono i fondamentali, da qui dovresti arrivare a poter modificare 
l'impostazione della lingua a runtime.
 
Poi estendi la tua ricerca qui:
http://www.delphi3000.com/category.asp?ID=38&CatName=BDE
 
 
Infine, guarda la documentazione delle primitive DBI...() che servono ad 
usare l'API del BDE.
 
Ma nel .ini del BDE non c'era un langdriver ?
ciao
 
-- 
morde
QT 4.7
Delphi (5,6,7.. expired)
Firebird Database

 usare l'API del BDE.
 
La cosa scabrosa è che se vado alla home page della mamma di BDE, 
Borland, non trovo più alcun riferimento..
Intendo dire che è sparita tutta la documentazione a riguardo. Non sono 
riuscito a trovarla e le poche ricerche che ho fatto con bigG mi portano 
su siti amatoriali e blog, ma di ufficiale non c'è più niente.
 
Se veramente è stato rimosso tutto, ci sarebbe da essere contenti che 
Borland abbia deciso di cedere l'IDE per dedicarsi a fare quello che gli 
è riuscito meglio: fallire e farsi acquisire da microfocus.
 
Scusate la nota polemica ma quando ci vuole, ci vuole...
 
(ho usato bde molti anni e credo che ci sia ancora in giro qualche 
milione di righe di codice delphi che usano il BDE, e cosa fa Borland in 
proposito? toglie tutte le risorse..)


 Scusate la nota polemica ma quando ci vuole, ci vuole...
 
 
Si, ne ho fatto una questione di principio.. :)
 
Sono quindi andato indietro nel tempo a cercare gli snapshots di 
www.bdesupport.com
, e ho trovato qualcosa di fruibile qui:
http://wayback.archive.org/web/20060215000000*/http://www.bdesupport.com
 
bisogna scegliere la data dello snapshot che si vuole visitare e 
incominciare a esplorarlo, ad esempio:
 
http://web.archive.org/web/20060203063305/http://www.bdesupport.com/tools.htm
 



Le api del BDE sono descritte nell'Help in linea che viene normalmente 
installato e fruibile dal link di menu di windows, esempio:
Borland Delphi 5
   --> Help
       --> Borland Database Engine
           --> Borland Database Engine Online Reference.
 
Ciao.

 Ciao.
 
grazie a tutti, ma io non ho capito un tubo :|
ho cercato sull'help di delphi e su internet ma non ne do fuori,
non trovo sta maledetta istruzione :(
 
--
mnoga

morde ha scritto:

Il BDE è deprecato dal 2000: 11 anni, informaticamente parlando, sono una 
vita, forse anche due.  Non mi sembra una gran colpa ...
 
ACSH
 
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 

 una vita, forse anche due.  Non mi sembra una gran colpa ...
 
sono d'accordo.
 
-- 
Alessandra
 
Un mito, … č una religione a cui nessuno crede piů - James Feibleman


 
Dissento.
Per il semplice (ma non futile) motivo che potevano benissimo lasciare 
la documentazione a disposizione del sito 
bdesupport.com
, creato apposta 
per questo. Cosa gli costava?
Stiamo parlando di un'azienda che, deprecata la propria tecnologia, ne 
ritira anche la documentazione ignorando il quasi ventennale software 
pregresso che la sta ancora usando.
 
E poi,in informatica niente è mai totalmente superato. Cobol docet.


 E poi,in informatica niente è mai totalmente superato. Cobol docet.
 
Cobol esiste solo perchè esistono le banche che ancora lo utilizzano
nei loro sistemi interni, altrimenti sarebbe morto e sepolto. E' un
linguaggio con comandi posizionali, pensato per le schede perforate..
bah
 
-- 
Alessandra
 
La nostra ingnoranza e' Dio, quello che conosciamo e' scienza - Robert
Green Ingersoll

 Green Ingersoll
 
ok,ergo, che fo? :D
 
--
mnoga

 ok,ergo, che fo? :D
Google in 30 secondi (ma sto invecchiando):
http://www.experts-
exchange.com/Programming/Languages/Pascal/Delphi/Q_10103275.html
To change the LANGDRIVER to WEUROPE (ANSI) in a Paradox Table, write: 
 SetConfigParameter('DRIVERSPARADOXINIT;LANGDRIVER','WEUROPE (ANSI)');
uses BDE, DBTables, DB;
    procedure SetConfigParameter(Param: string; Value: string); 
    var 
      hCur: hDBICur; 
      rslt: DBIResult; 
      Config: CFGDesc; 
      Path, Option: string; 
      Found: boolean; 
      Temp: array[0..255] of char; 
    begin 
      hCur := nil; 
      Found := False; 
      try 
      Check(dbiInit(Nil)); 
        if Pos(';', Param) = 0 then 
          raise EDatabaseError.Create('Invalid parameter passed to
function.  
There must ' + 
            'be a semi-colon delimited sting passed'); 
        Path := Copy(Param, 0, Pos(';', Param) - 1); 
        Option := Copy(Param, Pos(';', Param) + 1, Length(Param) -
Pos(';', 
Param)); 
        Check(DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPERSISTENT, 
StrPCopy(Temp, Path), hCur)); 
        repeat 
          rslt := DbiGetNextRecord(hCur, dbiNOLOCK, @Config, nil); 
          if rslt = DBIERR_NONE then 
          begin 
            if StrPas(Config.szNodeName) = Option then 
            begin 
              StrPCopy(Config.szValue, Value); 
              Check(DbiModifyRecord(hCur, @Config, FALSE)); 
              Found := True; 
              break; 
            end; 
          end 
          else 
          if rslt <> DBIERR_EOF then Check(rslt); 
        until rslt <> DBIERR_NONE; 
        if Found = False then 
          raise EDatabaseError.Create(Param + ' entry was not found in 
configuration file'); 
      finally 
        if hCur <> nil then Check(DbiCloseCursor(hCur)); 
        DbiExit; 
      end; 
    end; 
Come inizio non c'e' male ...


 Stiamo parlando di un'azienda che, deprecata la propria tecnologia, ne ritira anche la documentazione ignorando il quasi ventennale software pregresso che la sta ancora usando.
 
Non ho niente contro il fallimento di Borland, nè contro Microfocus nè 
contro Emb.  Per me questo è un fatto di correttezza, cosa che il mondo 
del business ha ormai da tempo dimenticato.
Cosa gli costava lasciare online il sito? Sarebbe stato un'isola di 
salvataggio per i molti programmatori che hanno tuttora a che fare con BDE.
Ripeto, la sto mettendo sul piano umano: ci sono molti modi per lasciare 
la propria eredità ai fruitori, uno di questi è di regalarla sotto forma 
di freeware, un'altra di aprire i sorgenti, un'altra di mantenere online 
la documentazione o di renderla disponibile per il download.
Immagino che quando borland passò di mano, il co...ne in giacca e 
cravatta che prese la decisione di togliere 
bdesupport.com
 dalla nota 
spese non sa assolutamente nulla della programmazione e del lavoro di 
noi (poveri) manutentori di software...


 
exchange.com/Programming/Languages/Pascal/Delphi/Q_10103275.html
 
 
Forse, ma dico forse visto che è dal secolo scorso che non uso Delphi ed
il 
BDE, forse anche questo funziona:
 
uses 
  DBTables; 
// 'cracker class' per accedere ad un metodo protetto 
type 
  TMySession = class(TSession); 
procedure CambiaConfigurazioneBDE; 
var 
  Lista: TStrings; 
begin 
  Lista := TStringList.Create; 
  try 
   Lista.Values['LOCAL SHARE'] := 'TRUE'; 
   Lista.Values['MAXBUFSIZE'] := '8192'; 
   Lista.Values['MAXFILEHANDLES'] := '255'; 
   Lista.Values['SHAREDMEMSIZE'] := '8192'; 
  // specifica quali alias sono presenti nella sessione 
    if Session.ConfigMode = cmAll then 
      Session.ConfigMode := cmPersistent; 
// funzione non documentata 
   TMySession(Session).ModifyConfigParams('SYSTEMINIT', '', Lista); 
  finally 
   Lista.Free; 
  end; {try..finally} 
end; 
 
I valori assegnabili alla TStringList sono quelli modificabili nella
pagina 
Configuration, sezione Init, del BDE Administrator. Se c'e' anche il 
langdriver, sei quasi a posto


 ho cercato sull'help di delphi e su internet ma non ne do fuori,
 
 
Tratto dal file di help che non si trova (trovato ieri in 10 secondi..
va be'...):
 
A language driver (LD) specifies a particular primary (or native)
character set, as well as a country/language-dependent set of rules
for character manipulation, such as sorting, upper- and lowercasing,
and the set of characters that are considered alphabetic. A language
driver's primary character set is the character set in which its rules
are defined. It specifies sorting and uppercasing in terms of the code
points used by that particular code page. It also defines the
character translation mapping between its primary character set and
the ANSI code page, when necessary.
 
(For a complete list of available language drivers and their
primary character sets, use
DbiOpenLdList  <<<<<<<<<<<-----------------------
 
 
******************************************************************
 
Long name	Short name	Character set	Collation sequence
'ascii' ANSI	DBWINUS0	1252 (ANSI)	Binary
'Spanish' ANSI	DBWINES0	1252 (ANSI)	Spanish
'WEurope' ANSI	DBWINWE0	1252 (ANSI)	Multilingual Western Europe
Access General	ACCGEN	1252 (ANSI)	Access Western Europe
 
Access Nord/Danish	ACCNRDAN	1252 (ANSI)	Access Norwegian/Danish
Access Swed/Finnish	ACCSWFIN	1252 (ANSI)	Access Swedish/Finnish
Access Japanese	ACCJAPAN	DOS 932	Access Japanese
Borland DAN Latin-1	BLLT1DA0	1252 (ANSI)	Danish
....cut
 
Default language driver settings are defined in the BDE configuration
file (IDAPI.CFG).
 
You can change these defaults using the BDE Administrator. If you can
be certain that your application will not need to support character
sets other than Windows ANSI, you can reduce the need for extra
processing, such as character translation, by changing your language
driver defaults to ANSI-based ones. Additionally, if your application
will be working exclusively with data from a particular SQL server, it
may be advantageous to reset local language driver defaults to the
driver you have associated with the SQL database alias.
 
When a Paradox, dBASE, or FoxPro table is created, the default
language driver's identification is stored in the table file header.
 
The default language driver setting can be overridden
at creation by specifying optional parameters to DbiCreateTable.
The table's language driver will be used by BDE functions that
manipulate character data, such as DbiSortTable, DbiAddIndex, and a
variety of other functions such as DbiGetNextRecord,
DbiGetPriorRecord, DbiSetRange, DbiSetToKey, DbiInsertRecord, and so
on. A table's language driver can be changed after creation by using
DbiDoRestructure. DbiDoRestructure does not translate table data or
metadata to the character set of the new language driver, in cases
where the character sets of the old and new language drivers differ.
However, table data is transliterated between differing character sets
by DbiBatchMove.
 
For SQL table driver types, such as Sybase or Oracle, language driver
settings are defined with the database alias in the BDE configuration
file (IDAPI.CFG). All of the above operations when applied to SQL
tables are governed by this setting.
 
To obtain the name of a table's language driver or the name of the
default LD for a specific table driver,
use the function
DbiGetLdName. <<<<<<<<<<<-----------------------
 
The following table summarizes the default settings for language
drivers.
 
Language driver for	Default Setting
 
System	System language driver setting current in IDAPI.CFG.
Access driver	Access language driver setting current in IDAPI.CFG.
Paradox driver	Paradox language driver setting current in IDAPI.CFG.
dBASE driver	dBASE language driver setting current in IDAPI.CFG.
Text driver	System language driver.
SQL database	LANGDRIVER setting for this database current in
IDAPI.CFG.
SQL drivers	LANGDRIVER setting in DB OPEN section of IDAPI.CFG for
this driver.
Table cursor	Language driver associated with this table at the time it
was created.
 
Database handle	Language driver of the database this handle
represents.
 
 
Note:	You can override all defaults by using
 
DbiSetProp <<<<<<<<<<<-----------------------
 
 
Mi dici quali sono le parole chiave che hai usato, per favore?
 
A.
 
 

 Cobol docet.
 
Il cobol e' un caso a parte.
Esistono terabyte di codice cobol usato dall'istituzione piu'
massiccia che la razza umana ricordi.
Non, non parlo della chiesa cattolica: parlo della BANCA.
 
Che poi il bde stia ancora la e' un altro discorso.
Vechcio, obsoleto e con le sue paturnie, ti permette di fare una cosa
che dbx e ado non ti permettono:
una connessione db per n thread.....
 
..a prp, ma in xe2 il bde ci sta o lo hanno eliminato definitivamente?
 
 
A.

 ..a prp, ma in xe2 il bde ci sta o lo hanno eliminato definitivamente?
 
non c'č.
 
-- 
Alessandra
 
Nessuno che abbia senso dell'humor ha mai fondato una religione -
Robert Green Ingersoll

 eh beh, in effetti 7 è identico a Windows 2000 :)
 
E' per quello che io uso ancora Windows 2000 ;-))
 
-- 
=============================================================
Alberto Rubinelli - Fondazione "Museo del computer" Onlus
Via Costantino Perazzi 22 - 28100 NOVARA - ITALY
Tel 0321 1856032   Fax 0321 391769   BBS 0321 392320
Mail: 
ne...@museodelcomputer.org
 
Web : 
www.museodelcomputer.org
 
=============================================================

 bah
 
non e' vero
 
DISPLAY STRINGA|CAMPO LINE X POSITION Y
ACCEPT CAMPO LINE X POSITION Y
 
OPPURE
 
SCREEN-SECTION.
 
Le schede sono un dispositivo di I/O non c'entra il cobol c'erano anche 
con l'assembler , l'rpg, il pascal(PDP-11)....

 anche con l'assembler , l'rpg, il pascal(PDP-11)....
 
non č questo il punto. Informati.
 
-- 
Alessandra
 
Se dio ha creato il mondo perchč si annoiava, dopo averlo distrutto, lo
ricreerą di nuovo? - Max

googlando un pò ho trovato anche una foto
 
http://www.flickr.com/photos/39042368@N04/5206283688/in/photostream
 
 
-- 
Alessandra
 
Io se fossi Dio, non avrei fatto gli errori di mio figlio, e sull'amore
e sulla carità mi sarei spiegato un po' meglio - Giorgio Gaber

 
http://www.flickr.com/photos/39042368@N04/5206283688/in/photostream
 
 
Fantastica!!!
In quel tempo un programmatore era veramente apprezzato e pagato bene, 
mica come oggi che ti pagano per produrre codice bovinamente...
