products/Sources/formale Sprachen/Delphi/Agenda 1.1/Sources image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: Utilities.pas   Sprache: Delphi

unit Utilities;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Menus, ComCtrls, ClipBrd,
  ToolWin, ActnList, ImgList, MMSystem, OleServer, ShellApi,
  SpeechLib_TLB, IdSMTP, IdMessage, idAttachment, StrUtils;

type
   TSound    = (HappyBirthDay, SongofJoy, Ding, DingDong,
                Kennenlerntag, MartinasGeburtstag, Hochzeitstag,
                BeethovensGeburtstag, BachsGeburtstag, Internationale,
                Bourree, RadioHamburg, Alarm, Sailing, DieGedankensindfrei,
                MorseCode);

var
    SpVoice: TspVoice;
    Speaker:integer;
    SOTokens: ISpeechObjectTokens;

  procedure EnumVoices(VoiceNo:integer;Leise:String;Combo:TComboBox);
  procedure Speak(Rate:integer;T:String);
  function  SoundCheck: boolean;
  Procedure PCSounder(i : TSound);
  Procedure Morse(Tx:String);
  function MailServerTest(SMTP:TIdSMTP;Host:String;User:String;Password:String):boolean;
  function SendMail(SMTP:TIdSMTP;Host:String;User:String;Password:String;
                    From:String;ToId:String;Subject:String;Body:String):String;
  function Country(tld: String):integer;
  procedure Pro(Module:integer;s:String);


implementation

{------------------------------------------------------------------}
{-   function getMACAddress                                      -}
{-                                                                -}
{------------------------------------------------------------------}
procedure Pro(Module:integer;s:String);
var Fse: Text;
begin
 AssignFile (Fse,'mod'+inttostr(Module)+'.txt');
 Rewrite(fse);
 write(fse,inttostr(module)+s+Chr(13)+Chr(10));
 CloseFile(fse);
end;

//----------------------------------------------------------------
//
//     produce speech from clipboard
//
//----------------------------------------------------------------
procedure Speak(rate:integer;T:String);
begin
  if Speaker > 0 then begin
    SpVoice.Voice := SOTokens.Item(Speaker-1);
    SpVoice.Rate  := rate;
    SpVoice.Speak(T, SVSFDefault)
  end
end;

//----------------------------------------------------------------
//
//     test for sound card
//
//----------------------------------------------------------------
function SoundCheck: boolean;
begin
   if WaveOutGetNumDevs > 0 then
     SoundCheck := true
   else
     SoundCheck := false
end;

//----------------------------------------------------------------
//
//     get voices from machine
//
//----------------------------------------------------------------
procedure EnumVoices(VoiceNo:integer;Leise:String;Combo:TComboBox);
var
  i, NoVoices: Integer;
  SOToken: ISpeechObjectToken;
  dwVersion : double;
begin
  if not SoundCheck then begin
    Speaker := 0;
    Combo.Items.AddObject(Leise, nil);
    Combo.ItemIndex:=0;
    exit;
  end;
  dwVersion := GetVersion();
  if (dwVersion >= $80000000) then  // no Windows XP
  begin
    Speaker := 0;
    Combo.Items.AddObject(Leise, nil);
    Combo.ItemIndex:=0;
    exit;
  end;
  SpVoice := TSpVoice.Create(nil);
  //enter silent mode
  Combo.Items.Clear;
  Combo.Items.AddObject(Leise, nil);
  Combo.ItemIndex:=0;
  //Ensure all events fire
  SpVoice.EventInterests := SVEAllEvents;
  SOTokens := SpVoice.GetVoices('''');
  NoVoices := SOTokens.Count - 1;
  for I := 0 to NoVoices do
  begin
    //For each voice, store the descriptor in the TStrings list
    SOToken := SOTokens.Item(I);
    Combo.Items.AddObject(SOToken.GetDescription(0), TObject(SOToken));
    //Increment the descriptor reference count to ensure it doesn't get destroyed
    SOToken._AddRef;
  end;
  if NoVoices >= 0 then
    Combo.ItemIndex := 0; //Select 1st voice
  // set options
  if (NoVoices >=1) and
  (VoiceNo <= Combo.Items.Count) then begin
      Speaker         := VoiceNo;
      Combo.ItemIndex := Speaker;
  end;
end;


//----------------------------------------------------------------
//
//     produce pc speaker beeps
//     with predefined songs
//
//----------------------------------------------------------------
procedure PCSpeakerBeep(Frequency, Duration: Integer);
  begin
  if Win32Platform = VER_PLATFORM_WIN32_NT then
     Windows.Beep(Frequency, Duration)
  else
   asm
   MOV ECX, Frequency
   JCXZ @@2
   MOV EAX, 1193181
   CDQ
   IDIV ECX
   MOV ECX, EAX
   IN AL, ($61)
   TEST AL, $03
   JNZ @@1
   OR AL, $03
   OUT ($61), AL
   MOV AL, $B6
   OUT ($43), AL
   @@1: MOV AL, CL
   OUT ($42), AL
   MOV AL, CH
   OUT ($42), AL
   PUSH Duration
   CALL Windows.Sleep
   @@2: IN AL, ($61)
   AND AL, $FC
   OUT ($61), AL
end;
end;

//------------------------------------------------------------------
//
//              Procedure PCSounder
//           for to sound from PC beeper loauspeaker
//
//------------------------------------------------------------------
Procedure Morse(Tx:String);
const
  dit     = 100;
  dah     = 300;
  CH      = chr(1);
  KA      = chr(2);     // Spruchanfang
  BT      = chr(3);     // Pause
  AR      = chr(4);     // Spruchende
  VE      = chr(5);     // verstanden
  SK      = chr(6);     // Verkehrsende
  SOS     = chr(7);     // Seenotruf
  IRRUNG  = chr(8);     // Wiederholung ab letztem richtigen Wort

var i:integer;
procedure Tone(f : real;d : integer);
var
 frequency : longint;
 dure:variant;
begin
 frequency := trunc(f);
 dure :=  d;
 PCSpeakerBeep(frequency,dure);
 sleep(dure);
 //SetVoiceSound(1,frequency,trunc(d*Tempo))
end; {Tone}
procedure Pause(d : integer;Tempo : real);
begin
  Sleep(d);
  // SetVoiceSound(1,frequency,trunc(d*Tempo))
end; {Pause}
procedure sh; begin Tone(1000,dit); end;
procedure lo; begin Tone(1000,dah); end;
procedure pa; begin Pause(dit,1);   end;
procedure letter(x:char);
begin
  case x of
  'a':    begin  sh;lo;        end;
  'b':    begin  lo;sh;sh;sh;  end;
  'c':    begin  lo;sh;lo;sh;  end;
  'd':    begin  lo;sh;sh;     end;
  'e':    begin  sh;           end;
  'f':    begin  sh;sh;lo;sh;  end;
  'g':    begin  lo;lo;sh;     end;
  'h':    begin  sh;sh;sh;sh;  end;
  'i':    begin  sh;sh;        end;
  'j':    begin  sh;lo;lo;lo;  end;
  'k':    begin  lo;sh;lo;     end;
  'l':    begin  sh;lo;sh;sh;  end;
  'm':    begin  lo;lo;        end;
  'n':    begin  lo;sh;        end;
  'o':    begin  lo;lo;lo;     end;
  'p':    begin  sh;lo;lo;sh;  end;
  'q':    begin  lo;lo;sh;lo;  end;
  'r':    begin  sh;lo;sh;     end;
  's':    begin  sh;sh;sh;     end;
  't':    begin  lo;           end;
  'u':    begin  sh;lo;lo;     end;
  'v':    begin  sh;sh;sh;lo;  end;
  'w':    begin  sh;lo;lo;     end;
  'x':    begin  lo;sh;sh;lo;      end;
  'y':    begin  lo;sh;lo;lo;      end;
  'z':    begin  lo;lo;sh;sh;      end;
  '0':    begin  lo;lo;lo;lo;lo;   end;
  '1':    begin  sh;lo;lo;lo;lo;   end;
  '2':    begin  sh;sh;lo;lo;lo;   end;
  '3':    begin  sh;sh;sh;lo;lo;   end;
  '4':    begin  sh;sh;sh;sh;lo;   end;
  '5':    begin  sh;sh;sh;sh;sh;   end;
  '6':    begin  lo;sh;sh;sh;sh;   end;
  '7':    begin  lo;lo;sh;sh;sh;   end;
  '8':    begin  lo;lo;lo;sh;sh;   end;
  '9':    begin  lo;lo;lo;lo;sh;   end;
  'Á',
  'Å':    begin  sh;lo;lo;sh;lo;   end;
  'Ä':    begin  sh;lo;sh;lo;      end;
  'Ö':    begin  lo;lo;lo;sh;      end;
  'Ü':    begin  sh;sh;lo;lo;           end;
  'ß':    begin  lo;lo;lo;sh;sh;lo;lo;  end;
  CH:     begin  lo;lo;lo;lo;           end;
  'Ñ':    begin  lo;lo;sh;lo;;lo;       end;
  '.':    begin  sh;lo;sh;lo;sh;lo;     end;
  ',':    begin  lo;lo;sh;sh;lo;lo;     end;
  ':':    begin  lo;lo;lo;sh;sh;sh;     end;
  ';':    begin  lo;sh;lo;sh;lo;sh;     end;
  '?':    begin  sh;sh;lo;lo;sh;sh;     end;
  '-':    begin  lo;sh;sh;sh;lo;        end;
  '(':    begin  lo;sh;lo;lo;sh;        end;
  ')':    begin  lo;sh;lo;lo;sh;lo;     end;
  '''':   begin  sh;lo;lo;lo;lo;sh;     end;
  '=':    begin  sh;lo;lo;lo;sh;        end;
  '+':    begin  sh;lo;sh;lo;sh;        end;
  '/':    begin  lo;sh;sh;lo;sh;        end;
  '@':    begin  sh;lo;lo;sh;lo;sh;     end;
  KA:     begin  lo;sh;lo;sh;lo;        end;
  BT:     begin  lo;sh;sh;sh;lo;        end;
  AR:     begin  sh;lo;sh;lo;sh;        end;
  VE:     begin  sh;sh;sh;lo;sh;             end;
  SK:     begin  sh;sh;sh;lo;sh;lo;          end;
  SOS:    begin  sh;sh;sh;lo;lo;lo;sh;sh;sh; end;
  IRRUNG: begin  sh;sh;sh;sh;sh;sh;sh;sh;    end;
  ' ':    begin pa;pa;pa;pa;pa;pa;pa; end;
  else
    begin sh;sh;lo;lo;sh;sh;  end;  // Irrung
  end;
end;
begin
letter(KA);
for i:=1 to Length(Tx) do
  begin letter(tx[i]);pa;pa;pa; end;
letter(AR);
end;

//------------------------------------------------------------------
//
//              Procedure PCSounder
//           for to sound from PC beeper loauspeaker
//
//------------------------------------------------------------------
Procedure PCSounder(i : TSound);
const
   c000  = 32.70;
   c00   = 65.41;
   c0    = 130.81;
   g0    = 196.0;
   a0    = 220.0;
   h0    = 246.94;
   c     = 261.63;
   cis   = 277.18;
   d     = 293.67;
   es    = 311.13;
   e     = 329.63;
   f     = 349.23;
   fis   = 369.99;
   g     = 392.0;
   ass   = 415.31;
   gis   = ass;
   a     = 440.0;
   b     = 466.16;
   h     = 493.88;
   c1    = 261.63;
   c2    = 523.25;
   c3    = 1046.51;
   c4    = 2093.02;
   c5    = 4186.03;

   full  = 512;
   half  = 256;
   Quart = 128;
   eigth = 64;
var
   Hz       : real;
   j        : integer;
   BaseTone : integer;
   Offset   : integer;
   Tempo    : real;
procedure Tone(f : real;d : integer);
var
 frequency : longint;
 dure:variant;
begin
 frequency := trunc(f);
 dure :=  d * Tempo;
 PCSpeakerBeep(frequency,dure);
 sleep(dure);
 //SetVoiceSound(1,frequency,trunc(d*Tempo))
end; {Tone}
procedure Pause(d : integer;Tempo : real);
begin
  Sleep(d);
  // SetVoiceSound(1,frequency,trunc(d*Tempo))
end; {Pause}

begin
  case i of
    HappyBirthDay :
        begin
           Tempo := 1;
           Tone(g,quart+eigth);
           Tone(g,eigth);
           Tone(a,half);
           Tone(g,half);
           Tone(c2,half);
           Tone(h,full);
           Tone(g,quart+eigth);
           Tone(g,eigth);
           Tone(a,half);
           Tone(g,half);
           Tone(2*d,half);
           Tone(c2,full);
           Tone(g,quart+eigth);
           Tone(g,eigth);
           Tone(g*2,half);
           Tone(e*2,half);
           Tone(c2,quart);
           Tone(c2,quart);
           Tone(c2,half);
           Tone(a,half);
           Tone(f*2,quart+eigth);
           Tone(f*2,eigth);
           Tone(e*2,half);
           Tone(c2,half);
           Tone(d*2,half);
           Tone(c2,full);
        end;
    SongofJoy :
        begin
           Tempo := 4.0 / 3.0;
           Tone(e,quart);
           Tone(e,quart);
           Tone(f,quart);
           Tone(g,quart);
           Tone(g,quart);
           Tone(f,quart);
           Tone(e,quart);
           Tone(d,quart);
           Tone(c,quart);
           Tone(c,quart);
           Tone(d,quart);
           Tone(e,quart);
           Tone(e,quart+eigth);
           Tone(d,eigth);
           Tone(d,half+quart);

           Tone(e,quart);
           Tone(e,quart);
           Tone(f,quart);
           Tone(g,quart);
           Tone(g,quart);
           Tone(f,quart);
           Tone(e,quart);
           Tone(d,quart);
           Tone(c,quart);
           Tone(c,quart);
           Tone(d,quart);
           Tone(e,quart);
           Tone(d,quart+eigth);
           Tone(c,eigth);
           Tone(c,half+quart);

           Tone(d,quart);
           Tone(d,quart);
           Tone(e,quart);
           Tone(c,quart);
           Tone(d,quart);
           Tone(e,eigth);
           Tone(f,eigth);
           Tone(e,quart);
           Tone(c,quart);
           Tone(d,quart);
           Tone(e,eigth);
           Tone(f,eigth);
           Tone(e,quart);
           Tone(d,quart);
           Tone(c,quart);
           Tone(d,quart);
           Tone(g/2,half);

           Tone(e,half);
           Tone(f,quart);
           Tone(g,quart);
           Tone(g,quart);
           Tone(f,quart);
           Tone(e,quart);
           Tone(d,quart);
           Tone(c,quart);
           Tone(c,quart);
           Tone(d,quart);
           Tone(e,quart);
           Tone(d,quart+eigth);
           Tone(c,eigth);
           Tone(c,half+quart);
        end;
    Bourree :
        begin
           Tempo := 1.0;
           Tone(a,quart);
           Tone(h,quart);
           Tone(2*c,quart+eigth);
           Tone(h,eigth);
           Tone(a,quart+eigth);
           Tone(gis,quart+eigth);
           Tone(a,eigth);
           Tone(h,quart+eigth);
           Tone(e,quart+eigth);
           Tone(fis,eigth);
           Tone(gis,quart+eigth);
           Tone(a,quart+eigth);
           Pause(quart,Tempo);

           Tone(g,quart);
           Tone(f,quart);
           Tone(e,quart+eigth);
           Tone(d,eigth);
           Tone(c,quart+eigth);
           Tone(h/2,quart+eigth);
           Tone(c,eigth);
           Tone(d,quart+eigth);
           Tone(e,quart+eigth);
           Tone(d,quart);
           Tone(c,quart);
           Tone(h/2,quart);
           Tone(a/2,half);
           Pause(quart,Tempo)
        end;
   RadioHamburg :
       begin
          Tempo := 1.0;
          Tone(f,quart);
          Tone(d,quart);
          Tone(g,quart);
          Tone(e,half);
          Tone(c,quart);
          Pause(half,Tempo);
       end;
   Internationale :
       begin
          Tempo := 1.0;
          // Völker höret die Signale
          Tone(e,quart+eigth);
          Tone(d,eigth);
          Tone(c,half);
          Tone(g0,half);
          Tone(g0,half);
          Tone(g0,half);
          Tone(a0,half);
          Tone(a0,half);
          Pause(quart,Tempo);
          //  auf zum letzten gefecht
          Tone(d,quart+eigth);
          Tone(c,eigth);
          Tone(h0,full);
          Tone(a0,half);
          Tone(g0,half);
          Tone(e,full);
          Pause(half,Tempo);
          // die Internationale
          Tone(e,quart);
          Tone(g,half+quart);
          Tone(g,quart);
          Tone(f,half);
          Tone(e,half);
          Tone(d,half);
          Tone(e,half);
          Tone(f,half);
          Pause(half,Tempo);
          // erkämpft das Menschenrecht
          Tone(f,quart);
          Tone(e,half+quart);
          Tone(c,quart);
          Tone(d,half+quart);
          Tone(h0,quart);
          Tone(c,full);
          Pause(half,Tempo);
       end;
   Sailing :
       begin
          Tempo := 4.0 / 3.0;
          Tone(e,quart);
          Tone(g,quart);
          Tone(a,half);
          Tone(a,quart);
          Pause(quart,Tempo);

          Tone(h,quart);
          Tone(d*2,quart);
          Tone(e*2,half);
          Tone(e*2,quart);
          Pause(quart,Tempo);

          Tone(e*2,quart+eigth);
          Tone(d*2,eigth);
          Tone(d*2,half);
          Tone(c*2,quart+eigth);
          Pause(eigth,Tempo);

          Tone(c*2,quart+eigth);
          Tone(h,eigth);
          Tone(h,half);
          Pause(eigth,Tempo);

          Tone(c*2,quart);
          Tone(h,quart);
          Tone(a,half);
          Tone(a,quart+eigth);
          Pause(eigth,Tempo);

          Tone(h,quart);
          Tone(a,quart);
          Tone(g,half);
          Tone(g,quart+eigth);
          Pause(eigth,Tempo);

          Tone(e,quart);
          Tone(e,quart);
          Tone(h,half);
          Tone(a,quart+eigth);
          Pause(eigth,Tempo);

          Tone(a,quart);
          Tone(g,quart);
          Tone(g,half);
          Pause(quart,Tempo)
        end;
   Ding :
        begin
          Tempo := 1.5;
          Tone(e,eigth);
          Tone(e,eigth)
        end;
   DingDong :
        begin
          Tempo := 1.5;
          Tone(e,eigth);
          Tone(e,eigth);
          Tone(c,eigth);
          Tone(c,eigth)
        end;
   DieGedankensindfrei :
        begin
          tempo := 1.5;
          Tone(e,eigth);
          Tone(e,eigth);
          Tone(a,quart);
          Tone(a,quart);
          Tone(cis,eigth);
          Tone(a,eigth);
          Tone(e,half);
          Tone(e,quart);
          Tone(d,Quart);
          Tone(h,Quart);
          Tone(e,Quart);
          Tone(c,Quart);
          Tone(a/2,Quart);
          Pause(full,Tempo);
          Tone(a,Quart);
          Tone(gis,Quart);
          Tone(h,Quart+eigth);
          Tone(gis,eigth);
          Tone(a,Quart);
          Tone(cis,Quart);
          Tone(a,Quart);
          Tone(gis,Quart);
          Tone(h,Quart+eigth);
          Tone(gis,eigth);
          Tone(a,Quart);
          Tone(cis,Quart);
          Tone(a,Quart);
          Tone(fis,Quart);
          Tone(fis,Quart);
          Tone(a,eigth);
          Tone(fis,eigth);
          Tone(e,half);
          Tone(e,eigth);
          Tone(cis,eigth);
          Tone(cis,eigth);
          Tone(h,eigth);
          Tone(a,Quart);
          Tone(gis,Quart);
          Tone(a,half);
      end;
   Alarm :
        begin
          BaseTone := 880;
          Offset   := 440;
          for j := 1 to 200 do
          begin
             Hz := BaseTone + sin(j*2*3.1415/300)*Offset;
             PCSpeakerBeep(Trunc(Hz),10+j div 4);
             //SetVoiceSound(1,trunc(Hz),10+j div 4)
          end;
        end;
   end;
end; {Sounder}

function SendMail(SMTP:TIdSMTP;Host:String;User:String;Password:String;
                  From:String;ToId:String;Subject:String;Body:String):String;
var MAilMessage:TidMessage;Status:String;
begin
  //setup SMTP
  SMTP.Host     := Host;
  SMTP.Port     := 25;
  SMTP.Username := Trim(User);
  SMTP.Password := Trim(Password);
  Status:='';

  //setup mail message
  MailMessage:=TIdMessage.Create;
  MailMessage.From.Address := Trim(From);
  MailMessage.Recipients.EMailAddresses := trim(ToId);

  MailMessage.Subject   := Trim(Subject);
  MailMessage.Body.Text := Body;

  //send mail
  try
    try
      SMTP.Connect;
      SMTP.Send(MailMessage);
    except on E:Exception do
      Status:='ERROR: ' + E.Message;
    end;
  finally
    if SMTP.Connected then
      SMTP.Disconnect;
  end;
  SendMAil:=Status
end; (* btnSendMail Click *)

function MailServerTest(SMTP:TIdSMTP;Host:String;User:String;Password:String):boolean;
var MAilMessage:TidMessage;Status:boolean;
begin
  //setup SMTP
  SMTP.Host := Host;
  SMTP.Port := 25;
  Status:=true;

  //setup mail message
  MailMessage:=TIdMessage.Create;
  MailMessage.From.Address := 'From';
  MailMessage.Recipients.EMailAddresses :=  'ToId';

  MailMessage.Subject := 'Subject';
  MailMessage.Body.Text := 'Body';

  //send mail
  try
    try
      SMTP.Connect;
    except on E:Exception do
      Status:=false;
    end;
  finally
    if SMTP.Connected then begin
      SMTP.Disconnect;
    end
    else
      Status:=false;
  end;
  MailServerTest:=Status
end; (* btnSendMail Click *)

//---------------------------------------------------------------------------
//         get country name from ISO code
//---------------------------------------------------------------------------
function Country(tld: String):integer;
const codes: array[1..251] of String =
('AC - Ascension Island'
,'AD - Andorra'
,'AE - United Arab Emirates'
,'AF - Afghanistan'
,'AG - Antigua and Barbuda'
,'AI - Anguilla'
,'AL - Albania'
,'AM - Armenia'
,'AN - Netherlands Antilles'
,'AO - Angola'
,'AQ - Antarctica'
,'AR - Argentina'
,'AS - American Samoa'
,'AT - Austria'
,'AU - Australia'
,'AV - Anguila'
,'AW - Aruba'
,'AX - Aland Islands'
,'AZ - Azerbaijan'
,'BA - Bosnia and Herzegovina'
,'BB - Barbados'
,'BD - Bangladesh'
,'BE - Belgium'
,'BF - Burkina Faso'
,'BG - Bulgaria'
,'BH - Bahrain'
,'BI - Burundi'
,'BJ - Benin'
,'BM - Bermuda'
,'BN - Brunei Darussalam'
,'BO - Bolivia'
,'BR - Brazil'
,'BS - Bahamas'
,'BT - Bhutan'
,'BV - Bouvet Island'
,'BW - Botswana'
,'BY - Belarus'
,'BZ - Belize'
,'CA - Canada'
,'CC - Cocos (Keeling) Islands'
,'CD - Congo, Democratic Republic'
,'CF - Central African Republic'
,'CG - Congo'
,'CH - Switzerland'
,'CI - Cote D`Ivoire (Ivory Coast)'
,'CK - Cook Islands'
,'CL - Chile'
,'CM - Cameroon'
,'CN - China'
,'CO - Colombia'
,'CR - Costa Rica'
,'CS - Czechoslovakia (former)'
,'CU - Cuba'
,'CV - Cape Verde'
,'CX - Christmas Island'
,'CY - Cyprus'
,'CZ - Czech Republic'
,'DE - Germany'
,'DJ - Djibouti'
,'DK - Denmark'
,'DM - Dominica'
,'DO - Dominican Republic'
,'DZ - Algeria'
,'EC - Ecuador'
,'EE - Estonia'
,'EG - Egypt'
,'EH - Western Sahara'
,'ER - Eritrea'
,'ES - Spain'
,'ET - Ethiopia'
,'FI - Finland'
,'FJ - Fiji'
,'FK - Falkland Islands (Malvinas)'
,'FM - Micronesia'
,'FO - Faroe Islands'
,'FR - France'
,'FX - France, Metropolitan'
,'GA - Gabon'
,'GB - Great Britain (UK)'
,'GD - Grenada'
,'GE - Georgia'
,'GF - French Guiana'
,'GF - Guernsey'
,'GH - Ghana'
,'GI - Gibraltar'
,'GL - Greenland'
,'GM - Gambia'
,'GN - Guinea'
,'GP - Guadeloupe'
,'GQ - Equatorial Guinea'
,'GR - Greece'
,'GS - S. Georgia and S. Sandwich Isls.'
,'GT - Guatemala'
,'GU - Guam'
,'GW - Guinea-Bissau'
,'GY - Guyana'
,'HK - Hong Kong'
,'HM - Heard and McDonald Islands'
,'HN - Honduras'
,'HR - Croatia (Hrvatska)'
,'HT - Haiti'
,'HU - Hungary'
,'ID - Indonesia'
,'IE - Ireland'
,'IL - Israel'
,'IM - Isle of Man'
,'IN - India'
,'IO - British Indian Ocean Territory'
,'IQ - Iraq'
,'IR - Iran'
,'IS - Iceland'
,'IT - Italy'
,'JE - Jersey'
,'JM - Jamaica'
,'JO - Jordan'
,'JP - Japan'
,'KE - Kenya'
,'KG - Kyrgyzstan'
,'KH - Cambodia'
,'KI - Kiribati'
,'KM - Comoros'
,'KN - Saint Kitts and Nevis'
,'KP - Korea (North)'
,'KR - Korea (South)'
,'KW - Kuwait'
,'KY - Cayman Islands'
,'KZ - Kazakhstan'
,'LA - Laos'
,'LB - Lebanon'
,'LC - Saint Lucia'
,'LI - Liechtenstein'
,'LK - Sri Lanka'
,'LR - Liberia'
,'LS - Lesotho'
,'LT - Lithuania'
,'LU - Luxembourg'
,'LV - Latvia'
,'LY - Libya'
,'MA - Morocco'
,'MC - Monaco'
,'MD - Moldova'
,'MG - Madagascar'
,'MH - Marshall Islands'
,'MK - F.Y.R.O.M. (Macedonia)'
,'ML - Mali'
,'MM - Myanmar'
,'MN - Mongolia'
,'MO - Macau'
,'MP - Northern Mariana Islands'
,'MQ - Martinique'
,'MR - Mauritania'
,'MS - Montserrat'
,'MT - Malta'
,'MU - Mauritius'
,'MV - Maldives'
,'MW - Malawi'
,'MX - Mexico'
,'MY - Malaysia'
,'MZ - Mozambique'
,'NA - Namibia'
,'NC - New Caledonia'
,'NE - Niger'
,'NF - Norfolk Island'
,'NG - Nigeria'
,'NI - Nicaragua'
,'NL - Netherlands'
,'NO - Norway'
,'NP - Nepal'
,'NR - Nauru'
,'NT - Neutral Zone'
,'NU - Niue'
,'NZ - New Zealand (Aotearoa)'
,'OM - Oman'
,'PA - Panama'
,'PE - Peru'
,'PF - French Polynesia'
,'PG - Papua New Guinea'
,'PH - Philippines'
,'PK - Pakistan'
,'PL - Poland'
,'PM - St. Pierre and Miquelon'
,'PN - Pitcairn'
,'PR - Puerto Rico'
,'PS - Palestinian Territory, Occupied'
,'PT - Portugal'
,'PW - Palau'
,'PY - Paraguay'
,'QA - Qatar'
,'RE - Reunion'
,'RO - Romania'
,'RU - Russian Federation'
,'RW - Rwanda'
,'SA - Saudi Arabia'
,'SB - Solomon Islands'
,'SC - Seychelles'
,'SD - Sudan'
,'SE - Sweden'
,'SG - Singapore'
,'SH - St. Helena'
,'SI - Slovenia'
,'SJ - Svalbard & Jan Mayen Islands'
,'SK - Slovak Republic'
,'SL - Sierra Leone'
,'SM - San Marino'
,'SN - Senegal'
,'SO - Somalia'
,'SR - Suriname'
,'ST - Sao Tome and Principe'
,'SU - USSR (former)'
,'SV - El Salvador'
,'SY - Syria'
,'SZ - Swaziland'
,'TC - Turks and Caicos Islands'
,'TD - Chad'
,'TF - French Southern Territories'
,'TG - Togo'
,'TH - Thailand'
,'TJ - Tajikistan'
,'TK - Tokelau'
,'TM - Turkmenistan'
,'TN - Tunisia'
,'TO - Tonga'
,'TP - East Timor'
,'TR - Turkey'
,'TT - Trinidad and Tobago'
,'TV - Tuvalu'
,'TW - Taiwan'
,'TZ - Tanzania'
,'UA - Ukraine'
,'UG - Uganda'
,'UK - United Kingdom'
,'UM - US Minor Outlying Islands'
,'US - United States'
,'UY - Uruguay'
,'UZ - Uzbekistan'
,'VA - Vatican City State (Holy See)'
,'VC - Saint Vincent & the Grenadines'
,'VE - Venezuela'
,'VG - British Virgin Islands'
,'VI - Virgin Islands (U.S.)'
,'VN - Viet Nam'
,'VU - Vanuatu'
,'WF - Wallis and Futuna Islands'
,'WS - Samoa'
,'YE - Yemen'
,'YT - Mayotte'
,'YU - Yugoslavia'
,'ZA - South Africa'
,'ZM - Zambia'
,'ZR - Zaire'
,'ZW - Zimbabwe');
var i,inx:integer;
begin
 inx:=0;
 for i:=low(codes) to high(codes) do
   if pos(UpperCase(tld),codes[i])=1 then
     inx:=i;
 country:=inx;
end;

end.



¤ Dauer der Verarbeitung: 0.36 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.


Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff