Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Implementazione Codice
Forum - C/C++ - Implementazione Codice

Avatar
hck8 (Normal User)
Newbie


Messaggi: 2
Iscritto: 23/11/2012

Segnala al moderatore
Postato alle 17:18
Venerdì, 23/11/2012
Questo topic è stato chiuso dal moderatore

salve a tutti quando aggiungo il file dini.inc come un file include (#include <percorso\dini.inc> )
ecco il codice di dini.inc
Codice sorgente - presumibilmente Delphi

  1. /*
  2.  *            Dini 1.6
  3.  *       (c) Copyright 2006-2008 by DracoBlue
  4.  *
  5.  * @author    : DracoBlue (http://dracoblue.com)
  6.  * @date      : 13th May 2006
  7.  * @update    : 16th Sep 2008
  8.  *
  9.  * This file is provided as is (no warranties).
  10.  *
  11.  * It's released under the terms of MIT.
  12. *
  13. * Feel free to use it, a little message in
  14. * about box is honouring thing, isn't it?
  15.  *
  16.  */
  17.  
  18. #if defined _dini_included
  19.   #endinput
  20. #endif
  21.  
  22. #define _dini_included
  23. #pragma library dini
  24.  
  25. #if defined MAX_STRING
  26. #define DINI_MAX_STRING MAX_STRING
  27. #else
  28. #define DINI_MAX_STRING 255
  29. #endif
  30.  
  31. stock dini_Exists(filename[]) {
  32.         return fexist(filename);
  33. }
  34.  
  35. stock dini_Remove(filename[]) {
  36.         return fremove(filename);
  37. }
  38.  
  39. stock dini_Create(filename[]) {
  40.         if (fexist(filename)) return false;
  41.         new File:fhnd;
  42.         fhnd=fopen(filename,io_write);
  43.         if (fhnd) {
  44.                 fclose(fhnd);
  45.                 return true;
  46.         }
  47.         return false;
  48. }
  49.  
  50. stock dini_Set(filename[],key[],value[]) {
  51.         // If we have no key, it can't be set
  52.         // we also have no chance to set the value, if all together is bigger then the max string
  53.         new key_length = strlen(key);
  54.         new value_length = strlen(value);
  55.         if (key_length==0 || key_length+value_length+2>DINI_MAX_STRING) return false;
  56.        
  57.         new File:fohnd, File:fwhnd;
  58.         new tmpres[DINI_MAX_STRING];
  59.         new bool:wasset=false;
  60.        
  61.         // Let's remove the old *.part file if there was one.
  62.         format(tmpres,sizeof(tmpres),"%s.part",filename);
  63.         fremove(tmpres);
  64.        
  65.         // We'll open the source file.
  66.         fohnd=fopen(filename,io_read);
  67.         if (!fohnd) return false;
  68.        
  69.         fwhnd=fopen(tmpres,io_write);
  70.         if (!fwhnd) {
  71.                 // we can't open the second file for writing, so .. let's close the open one and exit.
  72.                 fclose(fohnd);
  73.                 return false;
  74.         }
  75.        
  76.         while (fread(fohnd,tmpres)) {
  77.                 if (
  78.                         !wasset
  79.                         && tmpres[key_length]=='='
  80.                         && !strcmp(tmpres, key, true, key_length)      
  81.                 ) {
  82.                                 // We've got what needs to be replaced!
  83.                                 format(tmpres,sizeof(tmpres),"%s=%s",key,value);
  84.                                 wasset=true;
  85.                 } else {
  86.                         DINI_StripNewLine(tmpres);
  87.                 }
  88.                 fwrite(fwhnd,tmpres);
  89.                 fwrite(fwhnd,"\r\n");
  90.         }
  91.  
  92.         if (!wasset) {
  93.                 format(tmpres,sizeof(tmpres),"%s=%s",key,value);
  94.                 fwrite(fwhnd,tmpres);
  95.                 fwrite(fwhnd,"\r\n");
  96.         }
  97.  
  98.         fclose(fohnd);
  99.         fclose(fwhnd);
  100.  
  101.         format(tmpres,sizeof(tmpres),"%s.part",filename);
  102.         if (DINI_fcopytextfile(tmpres,filename)) {
  103.                 return fremove(tmpres);
  104.         }
  105.         return false;
  106. }
  107.  
  108.  
  109. stock dini_IntSet(filename[],key[],value) {
  110.    new valuestring[DINI_MAX_STRING];
  111.    format(valuestring,DINI_MAX_STRING,"%d",value);
  112.    return dini_Set(filename,key,valuestring);
  113. }
  114.  
  115. stock dini_Int(filename[],key[]) {
  116.    return strval(dini_Get(filename,key));
  117. }
  118.  
  119. stock dini_FloatSet(filename[],key[],Float:value) {
  120.    new valuestring[DINI_MAX_STRING];
  121.    format(valuestring,DINI_MAX_STRING,"%f",value);
  122.    return dini_Set(filename,key,valuestring);
  123. }
  124.  
  125. stock Float:dini_Float(filename[],key[]) {
  126.    return floatstr(dini_Get(filename,key));
  127. }
  128.  
  129. stock dini_Bool(filename[],key[]) {
  130.    return strval(dini_Get(filename,key));
  131. }
  132.  
  133. stock dini_BoolSet(filename[],key[],value) {
  134.         if (value) {
  135.                 return dini_Set(filename,key,"1");
  136.         }
  137.         return dini_Set(filename,key,"0");
  138. }
  139.  
  140. stock dini_Unset(filename[],key[]) {
  141.         // If we have no key, it can't be set
  142.         // we also have no chance to unset the key, if all together is bigger then the max string
  143.         new key_length = strlen(key);
  144.         if (key_length==0 || key_length+2>DINI_MAX_STRING) return false;
  145.        
  146.         new File:fohnd, File:fwhnd;
  147.         new tmpres[DINI_MAX_STRING];
  148.        
  149.         // Let's remove the old *.part file if there was one.
  150.         format(tmpres,DINI_MAX_STRING,"%s.part",filename);
  151.         fremove(tmpres);
  152.        
  153.         // We'll open the source file.
  154.         fohnd=fopen(filename,io_read);
  155.         if (!fohnd) return false;
  156.        
  157.         fwhnd=fopen(tmpres,io_write);
  158.         if (!fwhnd) {
  159.                 // we can't open the second file for writing, so .. let's close the open one and exit.
  160.                 fclose(fohnd);
  161.                 return false;
  162.         }
  163.        
  164.         while (fread(fohnd,tmpres)) {
  165.                 if (
  166.                         tmpres[key_length]=='='
  167.                         && !strcmp(tmpres, key, true, key_length)      
  168.                 ) {
  169.                                 // We've got what needs to be removed!
  170.                 } else {
  171.                         DINI_StripNewLine(tmpres);
  172.                         fwrite(fwhnd,tmpres);
  173.                         fwrite(fwhnd,"\r\n");
  174.                 }
  175.         }
  176.        
  177.         fclose(fohnd);
  178.         fclose(fwhnd);
  179.  
  180.         format(tmpres,DINI_MAX_STRING,"%s.part",filename);
  181.         if (DINI_fcopytextfile(tmpres,filename)) {
  182.                 return fremove(tmpres);
  183.         }
  184.         return false;
  185. }
  186.  
  187. stock dini_Get(filename[],key[]) {
  188.         new tmpres[DINI_MAX_STRING];
  189.        
  190.         new key_length = strlen(key);
  191.         if (key_length==0 || key_length+2>DINI_MAX_STRING) return tmpres;
  192.        
  193.         new File:fohnd;
  194.         fohnd=fopen(filename,io_read);
  195.         if (!fohnd) return tmpres;
  196.        
  197.         while (fread(fohnd,tmpres)) {
  198.                 if (
  199.                         tmpres[key_length]=='='
  200.                         && !strcmp(tmpres, key, true, key_length)      
  201.                 ) {
  202.                         /* We've got what we need */
  203.                         DINI_StripNewLine(tmpres);
  204.                         strmid(tmpres, tmpres, key_length + 1, strlen(tmpres), DINI_MAX_STRING);
  205.                         fclose(fohnd);
  206.                         return tmpres;
  207.                 }
  208.         }
  209.         fclose(fohnd);
  210.         return tmpres;
  211. }
  212.  
  213.  
  214. stock dini_Isset(filename[],key[]) {
  215.         new key_length = strlen(key);
  216.         if (key_length==0 || key_length+2>DINI_MAX_STRING) return false;
  217.        
  218.         new File:fohnd;
  219.         fohnd=fopen(filename,io_read);
  220.         if (!fohnd) return false;
  221.        
  222.         new tmpres[DINI_MAX_STRING];
  223.         while (fread(fohnd,tmpres)) {
  224.                 if (
  225.                                 tmpres[key_length]=='='
  226.                         &&  !strcmp(tmpres, key, true, key_length)     
  227.                 ) {
  228.                         // We've got what we need
  229.                         fclose(fohnd);
  230.                         return true;
  231.                 }
  232.         }
  233.         fclose(fohnd);
  234.         return false;
  235. }
  236.  
  237.  
  238.  
  239. stock DINI_StripNewLine(string[]) {
  240.         new len = strlen(string);
  241.         if (string[0]==0) return ;
  242.         if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
  243.                 string[len - 1] = 0;
  244.                 if (string[0]==0) return ;
  245.                 if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
  246.         }
  247. }
  248.  
  249. stock DINI_fcopytextfile(oldname[],newname[]) {
  250.         new File:ohnd,File:nhnd;
  251.         if (!fexist(oldname)) return false;
  252.         ohnd=fopen(oldname,io_read);
  253.         if (!ohnd) return false;
  254.         nhnd=fopen(newname,io_write);
  255.         if (!nhnd) {
  256.                 fclose(ohnd);
  257.                 return false;
  258.         }
  259.         new tmpres[DINI_MAX_STRING];
  260.         while (fread(ohnd,tmpres)) {
  261.                 DINI_StripNewLine(tmpres);
  262.                 format(tmpres,sizeof(tmpres),"%s\r\n",tmpres);
  263.                 fwrite(nhnd,tmpres);
  264.         }
  265.         fclose(ohnd);
  266.         fclose(nhnd);
  267.         return true;
  268. }


solo ke mi da
||=== registrazione, Debug ===|
G:\Registrazione\dini.inc|23|warning: ignoring #pragma library dini|
G:\Registrazione\dini.inc|31|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|35|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|39|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|50|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|109|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|115|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|119|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|125|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|129|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|133|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|140|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|187|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|214|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|239|error: 'stock' does not name a type|
G:\Registrazione\dini.inc|249|error: 'stock' does not name a type|
||=== Build finished: 15 errors, 1 warnings ===|
cosa devo fare??

PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:11
Venerdì, 23/11/2012
Ma le leggi le risposte oppure apri solo nuovi thread?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 1:18
Sabato, 24/11/2012
Questo topic è in violazione di una o più norme del regolamento: http://www.pierotofy.it/pages/extras/forum/9/3839-regolame ... .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.


Ingegnere Informatico
https://ldlagency.it
PM