-> Hier kostenlos registrieren
Sehr geehrtes Forum,
ich bräuchte mal Hilfe im c-skripten in den User Archiven. Und zwar will ich meine Datensätze im Archiv per Button "klick" Stück für Stück auslesen, diese landen dann in EA-Feldern um dann entweder gelöscht zu werden,verschoben zu werden etc.. Mein Problem ist nicht die Erfassung von den Daten aus den Felder sondern ich komme nicht aus der ersten Zeile und lade diese immer wieder. Hat wer ne Anregung zum "scrollen"?( uaArchiveMoveNext funzt dabei bisher nicht so). uaArchiveMoveFirst hab ich drin um erstmal nur die Lesefkt. zu testen.
Schon mal danke für etwaige Bemühungen und Hilfen MfG Red!
ich bräuchte mal Hilfe im c-skripten in den User Archiven. Und zwar will ich meine Datensätze im Archiv per Button "klick" Stück für Stück auslesen, diese landen dann in EA-Feldern um dann entweder gelöscht zu werden,verschoben zu werden etc.. Mein Problem ist nicht die Erfassung von den Daten aus den Felder sondern ich komme nicht aus der ersten Zeile und lade diese immer wieder. Hat wer ne Anregung zum "scrollen"?( uaArchiveMoveNext funzt dabei bisher nicht so). uaArchiveMoveFirst hab ich drin um erstmal nur die Lesefkt. zu testen.
Schon mal danke für etwaige Bemühungen und Hilfen MfG Red!
Code:
#include "apdefap.h"
void UAReadFromArchive()
{
UAHCONNECT hConnect = 0;
UAHARCHIVE hArchive = 0;
long NumberOfFields ;
int Index,ID,IntValue,Anzahl,count;
float FloatValue;
char ArchivName[255], StringField[255];
SYSTEMTIME zeit;
//connect to component
if (uaConnect( &hConnect ) == FALSE )
{
printf("uaConnect error: %d\n", uaGetLastError() );
}
if (hConnect == NULL)
{
printf("Handle UAHCONNECT equals NULL\n" );
return;
}
//connect to archive via archive name
if (uaQueryArchiveByName( hConnect, "Rezept1", &hArchive ) == FALSE )
{
printf("uaQueryArchive Error: %d\n" , uaGetLastError() );
}
// open archive
if ( uaArchiveOpen( hArchive ) == FALSE )
{
printf("uaArchive Open Error\n" );
}
//get numbers of field
NumberOfFields = uaArchiveGetFields( hArchive );
printf("Number of Fields = %u\n", NumberOfFields );
uaArchiveMoveFirst(hArchive);
//read and show data field
for ( Index = 0; Index < NumberOfFields; Index++ )
{
switch ( Index )
{
case 0 :
if (uaArchiveGetFieldValueLong ( hArchive, Index, &ID ) ==TRUE )
{
printf("ID = %i\n", ID );
}
else
{
printf("Error callinguaArchiveGetFieldValueLong ID: %d\n",uaGetLastError() );
break;
}
Index=1;
case 1:
if (uaArchiveGetFieldValueFloat ( hArchive, Index, &FloatValue ) ==TRUE )
{
SetOutputValueDouble("Rezept1","EA-Feld4",FloatValue);
printf("real1 = %f\n", FloatValue );
}
else
{
printf("Error callinguaArchiveGetFieldValueFloat real1: %d\n",uaGetLastError() );
break;
}
Index=2;
case 2 :
if (uaArchiveGetFieldValueFloat (hArchive, Index, &FloatValue ) ==TRUE )
{
printf("real2 = %f\n",FloatValue );
SetOutputValueDouble("Rezept1","EA-Feld5",FloatValue);
}
else
{
printf("Error calling uaArchiveGetFieldValueFloat real2: %d\n",uaGetLastError() );
break;
}
Index=3;
case 3 :
if (uaArchiveGetFieldValueFloat (hArchive, Index, &FloatValue ) ==TRUE )
{
printf("real3 = %f\n",FloatValue );
SetOutputValueDouble("Rezept1","EA-Feld6",FloatValue);
}
else
{
printf("Error calling uaArchiveGetFieldValueFloat real3: %d\n",uaGetLastError() );
break;
}
Index=4;
case 4:
if (uaArchiveGetFieldValueString ( hArchive, Index, StringField,255 ) == TRUE )
{
printf("Rezeptname = %s\n", StringField );
SetOutputValueChar("Rezept1","EA-Feld8",StringField);
}
else
{
printf("Error callinguaArchiveGetFieldValueString rezeptname: %d\n",uaGetLastError() );
break;
}
Index=5;
case 5:
if (uaArchiveGetFieldValueString ( hArchive, Index, StringField,255) ==TRUE )
{
printf("Kommentar=%s\r\n ",StringField );
SetOutputValueChar("Rezept1","EA-Feld10",StringField);
}
else
{
printf("Error calling uaArchiveGetFieldValuString kommentar: %d\n",uaGetLastError() );
break;
}
Index=6;
case 6:
if (uaArchiveGetFieldValueDate ( hArchive, Index,&zeit ) ==TRUE )
{
printf( "%d.%d.%d,%d.%d.%d\r\n ", zeit.wDay, zeit.wMonth, zeit.wYear,zeit.wHour,zeit.wMinute,zeit.wSecond );
SetOutputValueDouble("Rezept1","EA-Feld12",uaArchiveGetFieldValueDate ( hArchive, Index,&zeit ));
}
else
{
printf("Error calling uaArchiveGetFieldValuString kommentar: %d\n",uaGetLastError() );
break;
}
Index=7;
}
}
uaArchiveMoveNext(hArchive);
//******* Close Archive
if( NULL != hArchive )
{
if (uaArchiveClose ( hArchive ) == FALSE )
{
printf("error on closing archive\n" );
}
}
//****** Release Connection to Archive
if( NULL != hArchive )
{
if (uaReleaseArchive ( hArchive ) == FALSE )
{
printf("error on releasing archive\n" );
}
hArchive = 0;
}
//******* Disconnect to Component User Archives
if( NULL != hConnect )
{
if (uaDisconnect ( hConnect ) == FALSE )
{
printf("error on disconnection\n" );
}
hConnect = 0;
}
}