[go: up one dir, main page]

Menu

[r70]: / HiloGuardar.cpp  Maximize  Restore  History

Download this file

254 lines (223 with data), 10.5 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
#include "CabeceraGlobal.h"
void hgGuardarArchivo(void);
//HANDLE event;
static LPLOADSAVEDATA psd;
DWORD WINAPI hgFuncionDeHilo(LPVOID parametros)
{
psd = (LPLOADSAVEDATA) parametros;
//SetEvent(psd->evento);
/* while(1)
{
if(WaitForSingleObject(psd->evento, 0) == WAIT_OBJECT_0)
return TRUE;
}*/
hgGuardarArchivo();
SetEvent(psd->evento);
return TRUE;
}
void hgGuardarArchivo(void)
{
FILE *fichero;
ULONG x;
LPFICHEROLISTA *pfl;
LPDIRECTORIOLISTA *pdl;
DWORD h, i;
unsigned long long j;
unsigned long long v = MAXDWORD;
fichero = _tfopen(psd->filepath, __TEXT("wb"));
if (fichero == NULL)
{
MessageBox(NULL, IdiomasObtenerTexto(60), TEXT(SZWARNING), MB_OK | MB_ICONWARNING);
psd->exito = FALSE;
return;
}
_ftprintf(fichero, __TEXT("%s\r\n"), IdiomasObtenerTexto(1000052));
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->samesize);
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->samecrc);
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->samecontent);
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->samename);
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->incsystem);
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->increadonly);
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->inchidden);
_ftprintf(fichero, __TEXT("%lu\r\n"), psd->puntdatpro->filelist.numelem);
pfl = psd->puntdatpro->filelist.elementos;
for(x = 0; x < psd->puntdatpro->filelist.numelem; x++)
{
psd->porcentajeDeProgreso = ((x * 33) / psd->puntdatpro->filelist.numelem);
if(WaitForSingleObject(psd->evento, 0) == WAIT_OBJECT_0)
{
psd->exito = FALSE;
fclose(fichero);
DeleteFile(psd->filepath);
return;
}
_ftprintf(fichero, __TEXT("%d\r\n"), pfl[x]->yaincluido);
j = pfl[x]->tamanno;
i = (ULONG) (j / (v + 1));
h = (ULONG) (j % (v + 1));
_ftprintf(fichero, __TEXT("%lu\r\n"), i);
_ftprintf(fichero, __TEXT("%lu\r\n"), h);
_ftprintf(fichero, __TEXT("%d\r\n"), pfl[x]->sololectura);
_ftprintf(fichero, __TEXT("%s\r\n"), pfl[x]->ruta);
_ftprintf(fichero, __TEXT("%d\r\n"), pfl[x]->oculto);
_ftprintf(fichero, __TEXT("%lu\r\n"), pfl[x]->numerorepeticion);
_ftprintf(fichero, __TEXT("%s\r\n"), pfl[x]->nombre);
_ftprintf(fichero, __TEXT("%d\r\n"), pfl[x]->marcadoeliminar);
_ftprintf(fichero, __TEXT("%d\r\n"), pfl[x]->marcadoborrar);
_ftprintf(fichero, __TEXT("%d\r\n"), pfl[x]->fondoblanco);
_ftprintf(fichero, __TEXT("%lu\r\n"), pfl[x]->fechmodif.dwLowDateTime);
_ftprintf(fichero, __TEXT("%lu\r\n"), pfl[x]->fechmodif.dwHighDateTime);
_ftprintf(fichero, __TEXT("%lu\r\n"), pfl[x]->fechcreac.dwLowDateTime);
_ftprintf(fichero, __TEXT("%lu\r\n"), pfl[x]->fechcreac.dwHighDateTime);
_ftprintf(fichero, __TEXT("%s\r\n"), pfl[x]->exten);
_ftprintf(fichero, __TEXT("%d\r\n"), pfl[x]->desistema);
_ftprintf(fichero, __TEXT("%d\r\n"), pfl[x]->crccalculado);
_ftprintf(fichero, __TEXT("%lu\r\n"), pfl[x]->crc32);
_ftprintf(fichero, __TEXT("%d\r\n"), pfl[x]->estaencomprimido);
psd->porcentajeDeProgreso = (x * 50) / psd->puntdatpro->filelist.numelem;
}
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->extstonotincludecount);
for(x = 0; x < (ULONG) psd->puntdatpro->extstonotincludecount; x++)
{
_ftprintf(fichero, __TEXT("%s\r\n"), psd->puntdatpro->extstonotinclude[x]);
}
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->extstoincludecount);
for(x = 0; x < (ULONG) psd->puntdatpro->extstoincludecount; x++)
{
_ftprintf(fichero, __TEXT("%s\r\n"), psd->puntdatpro->extstoinclude[x]);
}
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->dirstonotincludecount);
for (x = 0; x < (ULONG) psd->puntdatpro->dirstonotincludecount; x++)
{
_ftprintf(fichero, __TEXT("%s\r\n"), psd->puntdatpro->dirstonotinclude[x]);
}
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->dirstoincludecount);
for (x = 0; x < (ULONG) psd->puntdatpro->dirstoincludecount; x++)
{
_ftprintf(fichero, __TEXT("%s\r\n"), psd->puntdatpro->dirstoinclude[x]);
}
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->filestoincludecount);
for (x = 0; x < (ULONG) psd->puntdatpro->filestoincludecount; x++)
{
_ftprintf(fichero, __TEXT("%s\r\n"), psd->puntdatpro->filestoinclude[x]);
}
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->filestonotincludecount);
for (x = 0; x < (ULONG) psd->puntdatpro->filestonotincludecount; x++)
{
_ftprintf(fichero, __TEXT("%s\r\n"), psd->puntdatpro->filestonotinclude[x]);
}
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->casesensitive);
_ftprintf(fichero, __TEXT("%lu\r\n"), psd->puntdatpro->cantmarcadoseliminar);
_ftprintf(fichero, __TEXT("%lu\r\n"), psd->puntdatpro->cantmarcadosborrar);
_ftprintf(fichero, __TEXT("%lu\r\n"), psd->puntdatpro->dirslist.numelem);
pdl = psd->puntdatpro->dirslist.elementos;
for(x = 0; x < psd->puntdatpro->dirslist.numelem; x++)
{
psd->porcentajeDeProgreso = ((x * 33) / psd->puntdatpro->dirslist.numelem) + 33;
if(WaitForSingleObject(psd->evento, 0) == WAIT_OBJECT_0)
{
psd->exito = FALSE;
fclose(fichero);
DeleteFile(psd->filepath);
return;
}
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->yaincluido);
j = pdl[x]->totalficheros;
i = (ULONG) (j / (v + 1));
h = (ULONG) (j % (v + 1));
_ftprintf(fichero, __TEXT("%lu\r\n"), i);
_ftprintf(fichero, __TEXT("%lu\r\n"), h);
j = pdl[x]->totalficheros1nivel;
i = (ULONG) (j / (v + 1));
h = (ULONG) (j % (v + 1));
_ftprintf(fichero, __TEXT("%lu\r\n"), i);
_ftprintf(fichero, __TEXT("%lu\r\n"), h);
j = pdl[x]->totalsubdir;
i = (ULONG) (j / (v + 1));
h = (ULONG) (j % (v + 1));
_ftprintf(fichero, __TEXT("%lu\r\n"), i);
_ftprintf(fichero, __TEXT("%lu\r\n"), h);
j = pdl[x]->totalsubdir1nivel;
i = (ULONG) (j / (v + 1));
h = (ULONG) (j % (v + 1));
_ftprintf(fichero, __TEXT("%lu\r\n"), i);
_ftprintf(fichero, __TEXT("%lu\r\n"), h);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->sololectura);
_ftprintf(fichero, __TEXT("%s\r\n"), pdl[x]->ruta);
_ftprintf(fichero, __TEXT("%s\r\n"), pdl[x]->nombre);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->fechmodif.dwLowDateTime);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->fechmodif.dwHighDateTime);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->fechcreac.dwLowDateTime);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->fechcreac.dwHighDateTime);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->desistema);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->oculto);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->sololectura);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->fondoblanco);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->marcadoborrar);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->marcadoeliminar);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->yacomparado);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->numerorepeticion);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->numerorepeticion1);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->numerorepeticion2);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->estaencomprimido);
}
_ftprintf(fichero, __TEXT("%lu\r\n"), psd->puntdatpro->cantmarcadoseliminardirs);
_ftprintf(fichero, __TEXT("%lu\r\n"), psd->puntdatpro->cantmarcadosborrardirs);
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->comparardirectorios);
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->compararcontenidozips);
_ftprintf(fichero, __TEXT("%d\r\n"), psd->puntdatpro->comprobardentrozip);
_ftprintf(fichero, __TEXT("%lu\r\n"), psd->puntdatpro->noincdirslist.numelem);
pdl = psd->puntdatpro->noincdirslist.elementos;
for(x = 0; x < psd->puntdatpro->noincdirslist.numelem; x++)
{
psd->porcentajeDeProgreso = ((x * 33) / psd->puntdatpro->noincdirslist.numelem) + 66;
if(WaitForSingleObject(psd->evento, 0) == WAIT_OBJECT_0)
{
psd->exito = FALSE;
fclose(fichero);
DeleteFile(psd->filepath);
return;
}
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->yaincluido);
j = pdl[x]->totalficheros;
i = (ULONG) (j / (v + 1));
h = (ULONG) (j % (v + 1));
_ftprintf(fichero, __TEXT("%lu\r\n"), i);
_ftprintf(fichero, __TEXT("%lu\r\n"), h);
j = pdl[x]->totalficheros1nivel;
i = (ULONG) (j / (v + 1));
h = (ULONG) (j % (v + 1));
_ftprintf(fichero, __TEXT("%lu\r\n"), i);
_ftprintf(fichero, __TEXT("%lu\r\n"), h);
j = pdl[x]->totalsubdir;
i = (ULONG) (j / (v + 1));
h = (ULONG) (j % (v + 1));
_ftprintf(fichero, __TEXT("%lu\r\n"), i);
_ftprintf(fichero, __TEXT("%lu\r\n"), h);
j = pdl[x]->totalsubdir1nivel;
i = (ULONG) (j / (v + 1));
h = (ULONG) (j % (v + 1));
_ftprintf(fichero, __TEXT("%lu\r\n"), i);
_ftprintf(fichero, __TEXT("%lu\r\n"), h);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->sololectura);
_ftprintf(fichero, __TEXT("%s\r\n"), pdl[x]->ruta);
_ftprintf(fichero, __TEXT("%s\r\n"), pdl[x]->nombre);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->fechmodif.dwLowDateTime);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->fechmodif.dwHighDateTime);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->fechcreac.dwLowDateTime);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->fechcreac.dwHighDateTime);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->desistema);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->oculto);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->sololectura);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->fondoblanco);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->marcadoborrar);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->marcadoeliminar);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->yacomparado);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->numerorepeticion);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->numerorepeticion1);
_ftprintf(fichero, __TEXT("%lu\r\n"), pdl[x]->numerorepeticion2);
_ftprintf(fichero, __TEXT("%d\r\n"), pdl[x]->estaencomprimido);
}
fclose(fichero);
psd->exito = TRUE;
}