Lazarus 3.0 (2023.12.21.)
Letöltés

  • Oldal:
  • 1

TÉMA:

File tömörítés - Zip fájlok -jelszóval. 2020 máj. 27 18:05 #2379

  • kefealo
  • kefealo profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Szia Gábor!

Köszönöm szépen a választ. A bemutatott linkben egy egyszerű történetről van szó, nincsenek további keverések. Ott megnyitod, jó azzal több probléma nincs. De! Amikor egy ékezetes fájlnevet kell jelszavazva-zippelni majd elkündeni ékezetekkel mit csatolmányt úgy hogy az helyesen is jelenik meg a célom. Nem egy nagy durranás, de ez van.
Akkor írom a kérdésem, és hogy mire vonatkozott, mert sajnos nem voltam pontos :(

Abbrevia TAbZipper.

UTF8ToCp1250-nel remek! A file remekül beszalad ezután a stream readnél nem működik, és készít egy 0 hosszú zip fájlt.
Ezért módosítottam a dolgon, így remekül működik. Ha UTF8-ként adom át, akkor működik, de amikor a GetFileAttributesEx-hez ér (valahol mélyen egy Abbrevia unitban, ott dob egy hátast.
Komponensenként változnak a kódlapkonverziós hibák. Tehát az, hogy, leírod hogy UTF8ToCp1250 az jó, és aki arra használja hogy fájlhozzárendelés, az is jó, de itt most ab Spanyol/Portugál ajkú népek is szenvednek a mindenféle ékezetes fájlnevekkel, ami tartalmaz á, é, í, ó, ú, ü, ñ betűket, és ugyan olyan problémás nekik is.
De ők jól elbeszélgetnek egymással :) De én magyarokkal szeretnék, mert az angoloknak bíza nincs accented letters problémája :)

Abbrevia TAbZipper kapcsán kértem a segítséget, hátha van itt egy know-how.

Vagy mások nem zippelnek? Vagy senki sem beszél halott nyelveken?

File tömörítés - Zip fájlok -jelszóval. 2020 máj. 26 15:46 #2377

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 501
  • Köszönetek: 86
Ajánlom figyelmedbe ezt: lazarus.freepascal.hu/forum/tudastar-help/1668-databasename-es-magyar-ekezetek#2110
(itt is, azok miatt akik csak erre találnak rá)
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 3.0 -- FPC 3.2-- GNU/Linux 5.15.0 x86_64

File tömörítés - Zip fájlok -jelszóval. 2020 máj. 25 19:52 #2375

  • kefealo
  • kefealo profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Senki? Pedig folytatnám a mail küldéssel... :)
Tényleg, itt senki sem használja ezt a cuccot?
:) Blyútifúl. Kiráj! :)

File tömörítés - Zip fájlok -jelszóval. 2020 máj. 24 09:42 #2373

  • kefealo
  • kefealo profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Sziasztok!

Semmi komplex... Csak azt hittem, hogy az UTF8ToSys majd jó lesz... Nem lett az.. Nem tudom miért... Kipróbáltam az UTF8To1250 és tádááááá! Persze, az Abbrevia nem megy még igy sem, mert ha hozzá akarom adni cp1250-el a fájlnevet, akkor máshol hal el... :(
Teljes a káosz, valahol mélyen, belül, a fejemben...
Mindegy... Belegányoltam az AbUtils.Pas-ba...

Itt volt egy sor:
  Result := GetFileAttributesEx(PChar(aFileName), GetFileExInfoStandard, @FindData);

de helyette lett négy:
  if GetACP = 1250 then
    Result := GetFileAttributesEx(PChar(UTF8ToCP1250(aFileName)), GetFileExInfoStandard, @FindData)
  else
    Result := GetFileAttributesEx(PChar(aFileName), GetFileExInfoStandard, @FindData);    
Viszont így prímán teszi a dolgát...
Remélem valakinek segít majd egyszer...

De ha valakinek van hozzáfűznivalója... vagy egyéb... vagy mittomén... Akkor írja már ide...
PS.: Ha úgy adom hozzá a ziphez a fájlnevet hogy már ott 1250-re alakítom, akkor rögvest készít egy 0 hosszú fájlt. Azaz sehogy sem jó még a dolog.

File tömörítés - Zip fájlok -jelszóval. 2020 máj. 23 21:08 #2372

  • kefealo
  • kefealo profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Ok! Megtaláltam, de itt ezt nem értem továbbra sem, mert itt vérzik el a történet:
s:='alfa.txt';
if not GetFileAttributesEx(PChar(s), GetFileExInfoStandard, @FindData) then
  showmessage('?');
s:='Árvíztűrő tükörfúrógép.txt';
if not GetFileAttributesEx(PChar(s), GetFileExInfoStandard, @FindData) then
  showmessage('?');
Mert ez már komplex nekem...

File tömörítés - Zip fájlok -jelszóval. 2020 máj. 23 19:38 #2371

  • kefealo
  • kefealo profilkép Témaindító
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Sziasztok!

Elsőre megírtam egy programot TZipper segítségével. Egyszerű, könnyen hastnálható. Ámde! Nincs jelszó támogatás. Találtam alternatívát, a TAbZipper-t (Abbrevia csomag).
Ezzel minden remek, de nem tudok ékezetes fájlokat csomagolni vele. Hiába minden ide oda konvertálás, nincs meg a fájl! Esetleg megvan, de 0 hosszú lesz :(
Persze ha egy egyszerű 'Alfa.pdf' a fájlnév, akkor repül, és minden ok!
Tapasztalat?

Pl.:
var
  ZF: TAbZipper;
  ZipFileName,
  PdfFile: string;
begin
  PdfFile:='C:\LazaWork\prox\Files\ext\Gyönyörű pédéef.pdf';
  ZF:=TAbZipper.Create(Self);
  ZF.Password:='Bubuka';
  ZF.FileName:=ChangeFileExt(PdfFile,'.Zip');
  ZF.BaseDirectory:=ExtractFileDir(PdfFile);
  ZipFileName:=ExtractFileName(PdfFile);
  ZF.AddFiles(ZipFileName,0);
  ZF.Save;
  ZF.CloseArchive;
  ZF.Free;    

És itt megakadt a tudomány... Valami ötlet? Az ékezettelenítés nem megoldható :)
Viszont minden megoldás érdekel! Köszi!

  • Oldal:
  • 1