AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeichenkodierung: Charset Detector

Ein Thema von Jazzman_Marburg · begonnen am 5. Apr 2010 · letzter Beitrag vom 5. Apr 2010
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#1

Re: Zeichenkodierung: Charset Detector

  Alt 5. Apr 2010, 16:08
OK, es ging mir ja erstmal nur darum, unnötige Arbeit zu ersparen,
also falls sich dieses durch ein "sicheres" System" hätte ersetzen lassen können.

A: Welche Delphi-Version nutzt du?

B:
Zitat:
Dann habe ich chsd_Reset auf das Onclick Event eines Buttons gelegt
Ähhhh, was hast du da genau gemacht?

Vielleicht zeigst du mal etwas Code, wie du es nun selber versucht hattest.
Aus dem Demo-Code (Beispiel aus der ReadMe) sieht man ja nicht, was du in deinem Code machst.

C: Hier mal die übersetzen Header für alle Delphiversionen (auch 2009 und 2010):
Delphi-Quellcode:
{$ALIGN 4}

const
  NS_DLL = 'chsdet.dll';
  NS_OK = 0;
  NS_ERROR_OUT_OF_MEMORY = $8007000e;

types
  TCharsetInfo = record
    Name: PAnsiChar; // charset name
    CodePage: LongInt; // MS Windows CodePage id
    Language: PAnsiChar; //
  end;

  TAboutHolder = record
    MajorVersionNr: LongWord; // Library's Major Version
    MinorVersionNr: LongWord; // Library's Minor Version
    BuildVersionNr: LongWord; // Library's Build/Release Version
    About: PAnsiChar; // Copyleft information
  end;

  TBOMKind = (
    BOM_Not_Found,
    BOM_UCS4_BE, // 00 00 FE FF UCS-4, big-endian machine (1234 order)
    BOM_UCS4_LE, // FF FE 00 00 UCS-4, little-endian machine (4321 order)
    BOM_UCS4_2143, // 00 00 FF FE UCS-4, unusual octet order (2143)
    BOM_UCS4_3412, // FE FF 00 00 UCS-4, unusual octet order (3412)
    BOM_UTF16_BE, // FE FF ## ## UTF-16, big-endian
    BOM_UTF16_LE, // FF FE ## ## UTF-16, little-endian
    BOM_UTF8 // EF BB BF UTF-8
  );

procedure chsd_Reset; stdcall;
  external NS_DLL;

function chsd_HandleData(aBuf: PAnsiChar; aLen: LongInt): LongInt; stdcall;
  external NS_DLL;

function chsd_Done: Boolean; stdcall;
  external NS_DLL;

procedure chsd_DataEnd; stdcall;
  external NS_DLL;

function chsd_GetDetectedCharset: TCharsetInfo; stdcall;
  external NS_DLL;

procedure chsd_GetKnownCharsets(var KnownCharsets: PAnsiChar); stdcall;
  external NS_DLL;

procedure chsd_GetAbout(var About: TAboutHolder); stdcall;
  external NS_DLL;

function csd_GetDetectedBOM: TBOMKind; stdcall;
  external NS_DLL;

procedure csd_DisableCharsetCP(CodePage: LongInt); stdcall;
  external NS_DLL;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz