summaryrefslogtreecommitdiff
path: root/src/FYBA/Fyba_melding.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/FYBA/Fyba_melding.cpp')
-rw-r--r--src/FYBA/Fyba_melding.cpp201
1 files changed, 201 insertions, 0 deletions
diff --git a/src/FYBA/Fyba_melding.cpp b/src/FYBA/Fyba_melding.cpp
new file mode 100644
index 0000000..bc9d733
--- /dev/null
+++ b/src/FYBA/Fyba_melding.cpp
@@ -0,0 +1,201 @@
+//////////////////////////////////////////////////////////////////////////
+//
+// Fil: Fyba_melding.cpp
+// Eier: Statens kartverk, FYSAK-prosjektet
+//
+//////////////////////////////////////////////////////////////////////////
+//
+// Denne filen inneholder eksempel på callback-rutiner som kalles
+// av FYBA for feilmeldings-handtering og visning av framdrift under
+// indeksoppbygging.
+//
+// For å få et godt brukergrensesnitt bør disse rutinene endres til
+// det meldings og feilhandteringssystemet som brukes av hovedprogrammet.
+//
+// Rutinene må kompileres og linkes sammen med hovedprogrammet når
+// FYBA brukes som LIB.
+//
+//////////////////////////////////////////////////////////////////////////
+
+
+//
+// Innholdet i rutinene må byttes ut med meldingshandtering som er tilpasset
+// det aktuelle hovedprogrammet.
+//////////////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////////////
+// Fyba_melding.cpp
+//
+// Denne filen inneholder eksempel på rutiner som må linkes inn i
+// hovedprogrammet når FYBA brukes som LIB.
+//
+//////////////////////////////////////////////////////////////////////////
+
+#ifdef WIN32
+#include <windows.h>
+#endif
+
+#include <fyba.h>
+
+//static short sProsent;
+
+
+/*
+AR-890911
+CH LC_Error Feilmeldingsrutine
+CD =============================================================================
+CD Formål:
+CD Standard feilmeldingsrutine.
+CD
+CD Parametre:
+CD Type Navn I/U Forklaring
+CD -----------------------------------------------------------------------------
+CD short feil_nr i Feil-nummer
+CD char *logtx i Tekst som bare skrives til logfil.
+CD Eks:"(utført i LC_RxGr)"
+CD char *vartx i Denne tekststreng henges etter feilmeldingsteksten.
+CD
+CD Bruk:
+CD LC_Error(35,"(Kallt i LC_Error)","");
+ =============================================================================
+*/
+void LC_Error(short feil_nr,const char *logtx,const char *vartx)
+{
+ char szErrMsg[260];
+ short strategi;
+ char *pszFeilmelding;
+
+
+ // Egen enkel implementasjon av feilhandtering
+ /* Hent feilmeldingstekst og strategi */
+ strategi = LC_StrError(feil_nr,&pszFeilmelding);
+ switch(strategi) {
+ case 2: UT_SNPRINTF(szErrMsg,260,"%s","Observer følgende! \n\n"); break;
+ case 3: UT_SNPRINTF(szErrMsg,260,"%s","Det er oppstått en feil! \n\n"); break;
+ case 4: UT_SNPRINTF(szErrMsg,260,"%s","Alvorlig feil avslutt programmet! \n\n"); break;
+ default: szErrMsg[0]='\0';
+ }
+
+ #ifdef WIN32
+ if (strategi > 2) {
+ Beep(100,500);
+ }
+
+ if (UT_StrCat (szErrMsg,pszFeilmelding, sizeof(szErrMsg))) {
+ if (UT_StrCat (szErrMsg,&vartx[0], sizeof(szErrMsg))) {
+ MessageBox(NULL, szErrMsg, "Melding fra FYBA ", MB_ICONHAND | MB_OK);
+
+ } else {
+ MessageBox(NULL, "Klarer ikke å vise teksten", "Melding fra FYBA ", MB_ICONHAND | MB_OK);
+ }
+
+ } else {
+ MessageBox(NULL, "Klarer ikke å vise teksten", "Melding fra FYBA ", MB_ICONHAND | MB_OK);
+ }
+ #else
+ printf("\nError: %s ",pszFeilmelding);
+ fflush(stdout);
+ #endif
+}
+
+
+/*
+AR-900609
+CH LC_StartMess Vise melding
+CD =============================================================================
+CD Formål:
+CD Starter vising av melding om baseoppbygging.
+CD
+CD Parametre:
+CD Type Navn I/U Forklaring
+CD -----------------------------------------------------------------------------
+CD char *pszFilnavn i Ekstra meldingstekst (filnavn)
+CD
+CD Bruk:
+CD LC_StartMess(pszFilnavn);
+ =============================================================================
+*/
+void LC_StartMessage(char const *pszFilnavn)
+{
+#ifndef LINUX
+ printf("\nLeser: %s ",pszFilnavn);
+ printf("\n0%%");
+ fflush(stdout);
+#endif
+}
+
+
+/*
+AR-900609
+CH LC_ShowMess Vise melding
+CD =============================================================================
+CD Formål:
+CD Vising av melding om baseoppbygging.
+CD
+CD Parametre:
+CD Type Navn I/U Forklaring
+CD -----------------------------------------------------------------------------
+CD double prosent i Prosent ferdig (0.0 - 100.0)
+CD
+CD Bruk:
+CD LC_ShowMess(prosent);
+ =============================================================================
+*/
+void LC_ShowMessage(double prosent)
+{
+#ifndef LINUX
+ printf("\r%d%%",(short)prosent);
+ fflush(stdout);
+#endif
+}
+
+
+/*
+AR-900609
+CH LC_EndMess Avslutt melding
+CD =============================================================================
+CD Formål:
+CD Avslutt melding om baseoppbygging.
+CD
+CD Parametre:
+CD Type Navn I/U Forklaring
+CD -----------------------------------------------------------------------------
+CD
+CD Bruk:
+CD LC_EndMess();
+ =============================================================================
+*/
+void LC_EndMessage(void)
+{
+#ifndef LINUX
+ printf("\r100%% ferdig.");
+ fflush(stdout);
+#endif
+}
+
+
+/*
+AR-910402
+CH LC_Cancel Sjekk om Esc er trykket
+CD ==========================================================================
+CD Formål:
+CD Sjekk om det er trykkt på Esc (Avbryte indeksoppbygging).
+CD
+CD
+CD Parametre:
+CD Type Navn I/U Forklaring
+CD --------------------------------------------------------------------------
+CD short sAvbrutt r UT_TRUE = Cancel
+CD UT_FALSE = ikke avbrudd
+CD
+CD Bruk:
+CD sAvbrutt = LC_Cancel();
+ ==========================================================================
+*/
+short LC_Cancel(void)
+{
+ /* Ikke mulig å avbryte */
+ return UT_FALSE;
+}
+