aldweb

Close I. aldweb

Close II. PC Freeware

Close III. Palm Freeware

Close IV. Palm Shareware

Close V. iziBasic Palm

Close VI. Palm Knowledge

Close VII. Pocket Computer

Close VIII. miniPortail

Special !



Mobile version of
the aldweb Site

m.aldweb.com


Neither French, nor English?

Try one of these flags then:
[de] [es] [it] [pt]
Search




Weather / Spam / www

Lyon Weather


aldweb against spam


Newsletter
To receive news about this website, consider subscribing to our Newsletter.
Subscribe
Unsubscribe
298 Subscribers
Family's web sites

Webmaster - Infos
Friends News
Visits

   visitors

   visitors online

Poll
What do you think of the new design of the aldweb Site?
 
Great !
Beautiful
Average
So ugly...
Results
forum.gifForum - iziBasic - Topic #1158

Forum - Forum
iziBasic - iziBasic


Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257

active  Topic # 1158  Lecture au dela du CHR$(0)

10/03/2005 @ 12:31
by Khertan

Anonymous



Salut ...

Bon j'essaye avec une applet PP de lire au dela du CHR$­­(0) ... en accedant direct a l'index voulu ... mais etant pas tres doué en pascal ... j'ai a chaque fois une erreur fatal ... mais je ne sais ou ...

L'applet est appelé de cette maniere :
Write to Khertan   Post an answer  Top

[]   

StartPrevious [ 1 2 ] NextEnd

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 1
--------
10/03/2005 @ 12:32
by Khertan

Anonymous

visitor
Bon j'arrive pas a poster mon code ... j'ai une parse erreur sur le forum a la ligne 13 ... unexpected variable ...
Write to Khertan   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 2
--------
10/03/2005 @ 12:33
by Khertan

Anonymous

visitor

L'applet est appelé de cette maniere :

A$­­=CALLPP(100,"MultiMail Message")

Write to Khertan   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 3
--------
10/03/2005 @ 12:34
by Khertan

Anonymous

visitor
et le code de l'applet :

$­­code appl,Kh13,code,100
program PPTest;
$­­i PalmAPI.pas
type iBasFunType=function(S:string):string;
var iBasCallPP:iBasFunType;
var Event:EventType;

function CallPP(S:string):string;

type
kMegaString=array[0..4095] of char;
kMegaStringPtr=^kMegaString;

var
f:UInt16;
databas:DmOpenRef;
krecord:MemHandle;
zechar:char;
kZeMegaString:kMegaString;
kZeMegaStringPtr:kMegaStringPtr;


begin

f:=DmFindDatabase(0,S);
databas:=DmOpenDatabase(0,f,dmModeReadWrite);
krecord:=DmGetRecord(databas,1);

kZeMegaStringPtr:=MemHandleLock(krecord);
kZeMegaString:=kZeMegaStringPtr^;
zec har:=kZeMegaString[5];

MemHandleUnlock(krecord);
DmReleaseRecord(databas,1,false);

CallPP:=zechar;
end;

begin

iBasCallPP:=CallPP;
end.

Si quelqu'un voit pourquoi ... merci ...
Write to Khertan   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 4
--------
10/03/2005 @ 12:34
by Khertan

Anonymous

visitor
bien sur il y a des

{ et des }

que ton forum n'accepte pas apperement :)
Write to Khertan   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 5
--------
11/03/2005 @ 00:00
by aldweb

Anonymous

visitor
A première vue, ton code semble tout à fait correct.
Sauf qu'il semble bien y manquer un petit DmCloseDatabase à la fin...

T'as vu ? C'est quand-même nettement plus compliqué à coder qu'en iziBasic, non ?

Sinon, oui, les parenthèses ont du mal à passer ici...

@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 6
--------
11/03/2005 @ 09:43
by Khertan

Anonymous

visitor
Oui mon code semblait correct ... sauf que apres avoir chercher pas mal ... j'ai trouvé ou etait mon erreur ... c'est le local ID ... ou ca chiait ...

Et oui c'est un UInt32 et non un UInt16 ... boum :)

Bon sinon j'arrive a lire proprement maintenant mais lorsque je quitte iziBasic j'ai une fatale exception ...

Oui bah tu sais j'aime bien iziBasic pour ca simplicité ... c'est presque un RAD ... :) et puis comme tout RAD ... pour un truc un peu plus complexe tu code un plug in ... soit un applet PP pour iziBasic ...

Enfin bref ... je commence a aimer de codé des petit applets pour iziBasic ... :) ... Mais c'est seulement pour completer iziBasic ... :)

Sinon voici le code ... me reste a mettre un parseur pour la string S passé afin de pouvoir mettre plusieur arguments dedans comme l'index du record, la position du caractere dans le record et le nom de la base ...

($­­code appl,Kh13,code,100)
program PPTest;
($­­i PalmAPI.pas)
type iBasFunType=function(S:string):string;
var iBasCallPP:iBasFunType;
var Event:EventType;

function CallPP(S:string):string;

type
kMegaString=array[0..4095] of char;
kMegaStringPtr=^kMegaString;

var
f:LocalID;
index:UInt16;
pos:UInt16;
ref:DmOpenRef;
krecord:MemHandle;
zechar:char;
kZeMegaString:kMegaString;
kZeMegaStringPtr:kMegaStringPtr;
begin

f:=DmFindDatabase(0,'MultiMail Messages');
ref:=DmOpenDatabase(0,f,dmModeReadOnly);

index:=0;
pos:=4;

krecord:=DmGetRecord(ref,index);
kZeMegaStringPtr:=MemHandleLock(krecord);

CallPP:='0';

if kZeMegaStringPtr<>nil then
begin
kZeMegaString:=kZeMegaStringPtr^;
zechar:=kZeMegaString[4];
CallPP:=zechar;
end;

MemHandleUnlock(krecord);
DmReleaseRecord(ref,1,false);
DmCloseDatabase(ref);


end;

begin
iBasCallPP:=CallPP;
end.
Write to Khertan   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 6
--------
11/03/2005 @ 09:43
by Khertan

Anonymous

visitor
Oui mon code semblait correct ... sauf que apres avoir chercher pas mal ... j'ai trouvé ou etait mon erreur ... c'est le local ID ... ou ca chiait ...

Et oui c'est un UInt32 et non un UInt16 ... boum :)

Bon sinon j'arrive a lire proprement maintenant mais lorsque je quitte iziBasic j'ai une fatale exception ...

Oui bah tu sais j'aime bien iziBasic pour ca simplicité ... c'est presque un RAD ... :) et puis comme tout RAD ... pour un truc un peu plus complexe tu code un plug in ... soit un applet PP pour iziBasic ...

Enfin bref ... je commence a aimer de codé des petit applets pour iziBasic ... :) ... Mais c'est seulement pour completer iziBasic ... :)

Sinon voici le code ... me reste a mettre un parseur pour la string S passé afin de pouvoir mettre plusieur arguments dedans comme l'index du record, la position du caractere dans le record et le nom de la base ...

$­­code appl,Kh13,code,100
program PPTest;
$­­i PalmAPI.pas
type iBasFunType=function(S:string):string;
var iBasCallPP:iBasFunType;
var Event:EventType;

function CallPP(S:string):string;

type
kMegaString=array[0..4095] of char;
kMegaStringPtr=^kMegaString;

var
f:LocalID;
index:UInt16;
pos:UInt16;
ref:DmOpenRef;
krecord:MemHandle;
zechar:char;
kZeMegaString:kMegaString;
kZeMegaStringPtr:kMegaStringPtr;
begin

f:=DmFindDatabase(0,'MultiMail Messages');
ref:=DmOpenDatabase(0,f,dmModeReadOnly);

index:=0;
pos:=4;

krecord:=DmGetRecord(ref,index);
kZeMegaStringPtr:=MemHandleLock(krecord);

CallPP:='0';

if kZeMegaStringPtr<>nil then
begin
kZeMegaString:=kZeMegaStringPtr^;
zechar:=kZeMegaString[4];
CallPP:=zechar;
end;

MemHandleUnlock(krecord);
DmReleaseRecord(ref,1,false);
DmCloseDatabase(ref);


end;

begin
iBasCallPP:=CallPP;
end.
Write to Khertan   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 7
--------
11/03/2005 @ 20:57
by Khertan

Anonymous

visitor
Le gentil createur de PP, Philippe Guillot à trouvé pourquoi ...

Un depassement de pile sur le zeMegaString[0..4095] ...

Maintenant reste a savoir comment faire ...
Write to Khertan   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 9
--------
13/03/2005 @ 18:49
by aldweb

Anonymous

visitor
Ah oui, ça aurait du me sauter aux yeux aussi.

Ton zeMegaString de 4 Ko est déclaré en variable locale et on a moins que ça dans un module.

Pour les besoins de tes tests, diminue-le sous une barre de 512 octets ou 1 Ko.

Après, je pourrai voir pour donner accès à mon propre tableau de MegaString que j'utilise dans iziBasic en variable globale, et qui est déclaré exactement comme le tien.
Ca m'imposera un petit réarangement de la mémoire et une recompilation complète, pour une version 5.0 spéciale Khertan ou une version 5.1



@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 10
--------
13/03/2005 @ 19:45
by Khertan

Anonymous

visitor
Lol ... te prends pas la tête ... 4Ko ... pour lire une char ... :)

hum on a deja vu vieux niveau optimisation ... :)

:)

Non je suis en train d'essayer de faire du parsing pour passer trois arguments depuis iziBasic ... mais je galere avec ca :)
Write to Khertan   Post an answer  Top
StartPrevious [ 1 2 ] NextEnd
active topic active   closed topic closed   Sticky Sticky   New New message   -   Correct Correct message   Close Close topic   Make sticky Make sticky
[]
Forum Topic  Forum 



 
^ Top ^