Avatar billede hugopedersen Nybegynder
29. august 2011 - 10:22 Der er 13 kommentarer og
1 løsning

FormatSettings.LongDayNames[DayNumber] hvordan får man det til at være dansk

FormatSettings.LongDayNames[DayNumber] bruger en eller anden amerikaniseret måde til at bestemme at dag 1 er søndag

Hvordan får man den til at være dansk så dag 1 er mandag?
Avatar billede kroning Nybegynder
29. august 2011 - 11:07 #1
I min delphi 7 er det fast defineret at 1 er søndag 2 er mandag osv., så det tror jeg ikke du kan ændre på.
Avatar billede kroning Nybegynder
29. august 2011 - 11:18 #2
Og det er selvfølgelig noget rod for en funktion som DayOfTheWeek retunere 1 hvis det er mandag.
Avatar billede hugopedersen Nybegynder
29. august 2011 - 12:52 #3
Det er nemlig noget rigtig 'Kjøvenhavneri'  :-)

Det kan da ikke være rigtig at Formatsettings ikke kan fikse det på en eller anden måde.
29. august 2011 - 13:34 #4
HEJ HP,

Havde samme problem ca 1 1/2 år siden. 

Løste det ved at bruge delvis selvskrevne rutiner (og holdt mig LAAAAAAAANGT væk fra FORMATSettings).

Husker (har ikke rutinen her) at jeg ændrede Funktionen "DayOfTheWeek " til MYDayOfTheWeek og lavede SØNDAG = 7 ; Mandag = 1; Tirsdag = 2; osv...

Men det må da være muligt at ÆNDRE denne dato-opsætning i WINDOZE (datohåndteringen ? )

Uden at lægge hod'et på blokken mener jeg at jeg har læst på en af de mange MICRONSNOTS web-sider at det er muligt at ændre dato-opsætning til Europæisk visning, men husker (naturligvis) ikke hvor....

Hvordan går det forøvrigt med din CD-åbne / CD-Lukke rutine  ?

(har et MICRONSNMOT link hvor MCI-commandoerne er beskrevet...)

KR
Avatar billede hugopedersen Nybegynder
29. august 2011 - 13:41 #5
Jo men i XE hedder det FormatSettings.LongDayNames - LongDayNames er 'udgået fra forlaget' :-)


Jeg fik aldrig lavet det så den kunne lukke en CD skuffe der står åben - jeg fandt aldrig ud af at finde en måde at checke for om skuffen er åben.
29. august 2011 - 14:47 #6
HEJ (igen),

Jeg arbejder i øjeblikket med et VIDEO-projekt (skal finde intermission-gaps mellem records (eller på dansk: skillerum mellem optagelser)) og er jævnligt inde på MICROSNOTS hjemmeside (læs: spec. WM_CMD_ - siderne for at finde relevante info). Der er MCI-commandoerne også beskrevet.


Husker jeg det (og er på de sider i forb. med VIDEO'en) skal jeg gerne søge lidt på MCI_status .  (Jeg arbejdede lidt med en ASSEMBLER rutine (ATAPI-formatet) for måneder siden og da var det muligt at aflæse MCI-status via et system-interrupt, så jeg er sikker på det er muligt at aflæse den .. )

Jeg kender ikke ret meget til XE,  (< 0)  så jeg kan nok ikke hjælpe dig der ....

KR
Avatar billede hugopedersen Nybegynder
29. august 2011 - 14:58 #7
Ja det må kunne lade sig gøre at finde den status et eller andet sted. Jeg har set programmer der kan lukke skuffen hvis den er åben. Og de lukker den ikke først op så det må indikere at de har læst status et og andet sted.
Avatar billede vallemanden Nybegynder
29. august 2011 - 15:11 #8
nu ved jeg ikke om det var en joke med cd skuffe....


uses
  mmsystem;

procedure TForm1.Button1Click(Sender: TObject);
var
  s: array[0..64] of Char;
  error: Cardinal;
  Text: array[0..255] of Char;
begin
  error := mciSendstring('open cdaudio alias geraet', nil, 0, Handle);
  if error <> 0 then
  begin
    mciGetErrorstring(error, @Text, 255);
    ShowMessage(Text);
    mciSendstring('close geraet', nil, 0, Handle);
    Exit;
  end;

  error := mciSendstring('status geraet mode', @s, SizeOf(s), Handle);
  if error <> 0 then
  begin
    mciGetErrorstring(error, @Text, 255);
    ShowMessage(Text);
    mciSendstring('close geraet', nil, 0, Handle);
    Exit;
  end;

  mciSendstring('close geraet', nil, 0, Handle);
  ShowMessage('Message: ' + s);
end;
Avatar billede vallemanden Nybegynder
29. august 2011 - 15:15 #9
var
  days: array[1..7] of string;
begin
  days[1] := 'Man';
  days[2] := 'Tir';
  days[3] := 'Ons';
  days[4] := 'Tor';
  days[5] := 'Fre';
  days[6] := 'Lør';
  days[7] := 'Søn';
  showmessage(days[DayOfTheWeek(now)]);

end;

mener jeg har løst det sådan en gang
Avatar billede vallemanden Nybegynder
29. august 2011 - 15:17 #10
ups

uses
  dateutils;
Avatar billede vallemanden Nybegynder
29. august 2011 - 15:21 #11
brug

StartOfAWeek(const AYear, AWeekOfYear: Word;     
  const ADayOfWeek: Word = 1): TDateTime;

og

function EndOfAWeek(const AYear, AWeekOfYear: Word;                        const ADayOfWeek: Word = 7): TDateTime;
Avatar billede hugopedersen Nybegynder
30. august 2011 - 08:32 #12
Jeg har lavet en midlertidig løsning med et array med navnene i så må jeg se om jeg eller en anden kan komme op med noget lidt mere sofistikeret :-)

Og nej det var absolut ikke nogen joke med CD skuffen.
Det der er det store problem er at det kun skal være 1 program der gør det at når den køres så åbner den skuffen hvis den er lukket og hvis den allerede er åben så skal den lukkes.
Så det er det at finde ud af hvad den skal der er det tricky.

Jeg skulle bruge det til en ALDI computer jeg havde købt hvor det at åbne CD skuffen mere var held end forstand :-)  Den knap der bruges kan de godt bruge lidt mere tid på - der er noget hø hvor resten af maskinen er super kvalitet.
Avatar billede hugopedersen Nybegynder
06. september 2011 - 18:44 #13
Jeg fik en løsning fra Borisholt der includerede en ClassHelper og det virker med FormatSettings.
Avatar billede hugopedersen Nybegynder
06. september 2011 - 19:01 #14
PS: vallemanden - din kode til CD virker ikke. Den vil ikke engang åbne CD'en på min maskine (Windows 7 pro)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester