ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
March 2005
----- 2025 -----
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
26 participants
609 discussions
Start a n
N
ew thread
[blight] 14135: Simple patch-creation tool (not much tested, but should work)
by blight@svn.reactos.com
Simple patch-creation tool (not much tested, but should work) Added: trunk/reactos/apps/utils/patch/ Added: trunk/reactos/apps/utils/patch/Makefile Added: trunk/reactos/apps/utils/patch/patch.c _____ Added: trunk/reactos/apps/utils/patch/Makefile --- trunk/reactos/apps/utils/patch/Makefile 2005-03-16 12:33:26 UTC (rev 14134) +++ trunk/reactos/apps/utils/patch/Makefile 2005-03-16 14:01:52 UTC (rev 14135) @@ -0,0 +1,21 @@ +PATH_TO_TOP = ../../.. + +TARGET_NORC = yes + +TARGET_TYPE = program + +TARGET_APPTYPE = console + +TARGET_NAME = patch + +TARGET_SDKLIBS = + +TARGET_OBJECTS = patch.o + +TARGET_CFLAGS += -Wall -Werror + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk + +# EOF _____ Added: trunk/reactos/apps/utils/patch/patch.c --- trunk/reactos/apps/utils/patch/patch.c 2005-03-16 12:33:26 UTC (rev 14134) +++ trunk/reactos/apps/utils/patch/patch.c 2005-03-16 14:01:52 UTC (rev 14135) @@ -0,0 +1,615 @@ +#include <conio.h> +#include <io.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> + +/** DEFINES *******************************************************************/ + +#define PATCH_BUFFER_SIZE 4096 /* Maximum size of a patch */ +#define PATCH_BUFFER_MAGIC "\xde\xad\xbe\xef MaGiC MaRk " +#define SIZEOF_PATCH_BUFFER_MAGIC (sizeof (PATCH_BUFFER_MAGIC) - 1) + +/** TYPES *********************************************************************/ + +typedef struct _PatchedByte +{ + int offset; /*!< File offset of the patched byte. */ + unsigned char expected; /*!< Expected (original) value of the byte. */ + unsigned char patched; /*!< Patched (new) value for the byte. */ +} PatchedByte; + +typedef struct _PatchedFile +{ + const char *name; /*!< Name of the file to be patched. */ + int fileSize; /*!< Size of the file in bytes. */ + int patchCount; /*!< Number of patches for the file. */ + PatchedByte *patches; /*!< Patches for the file. */ +} PatchedFile; + +typedef struct _Patch +{ + const char *name; /*!< Name of the patch. */ + int fileCount; /*!< Number of files in the patch. */ + PatchedFile *files; /*!< Files for the patch. */ +} Patch; + +/** FUNCTION PROTOTYPES *******************************************************/ + +static void printUsage(); + +/** GLOBALS *******************************************************************/ + +static Patch m_patch = { NULL, 0, NULL }; +static int m_argc = 0; +static char **m_argv = NULL; + +/* patch buffer where we put the patch info into */ +static unsigned char m_patchBuffer[SIZEOF_PATCH_BUFFER_MAGIC + PATCH_BUFFER_SIZE] = + PATCH_BUFFER_MAGIC; + +/** HELPER FUNCTIONS **********************************************************/ + +static void * +loadFile(const char *fileName, int *fileSize_) +{ + FILE *f; + struct stat sb; + int fileSize; + void *p; + + /* Open the file */ + f = fopen(fileName, "rb"); + if (f == NULL) + { + printf("Couldn't open file %s for reading!\n", fileName); + return NULL; + } + + /* Get file size */ + if (fstat(fileno(f), &sb) < 0) + { + fclose(f); + printf("Couldn't get size of file %s!\n", fileName); + return NULL; + } + fileSize = sb.st_size; + + /* Load file */ + p = malloc(fileSize); + if (p == NULL) + { + fclose(f); + printf("Couldn't allocate %d bytes for file %s!\n", fileSize, fileName); + return NULL; + } + + if (fread(p, fileSize, 1, f) != 1) + { + fclose(f); + free(p); + printf("Couldn't read file %s into memory!\n", fileName); + return NULL; + } + + /* Close file */ + fclose(f); + + *fileSize_ = fileSize; + return p; +} + + +static int +saveFile(const char *fileName, void *file, int fileSize) +{ + FILE *f; + + /* Open the file */ + f = fopen(fileName, "wb"); + if (f == NULL) + { + printf("Couldn't open file %s for writing!\n", fileName); + return -1; + } + + /* Write file */ + if (fwrite(file, fileSize, 1, f) != 1) + { + fclose(f); + printf("Couldn't write file %s!\n", fileName); + return -1; + } + + /* Close file */ + fclose(f); + return 0; +} + + +static int +compareFiles( + PatchedFile *patchedFile, + const char *originalFileName) +{ + const char *patchedFileName = patchedFile->name; + unsigned char *origChunk, *patchedChunk; + int origSize, patchedSize, i, patchCount; + PatchedByte *patches = NULL; + int patchesArrayCount = 0; + + /* Load both files */ + origChunk = loadFile(originalFileName, &origSize); + if (origChunk == NULL) + return -1; + patchedChunk = loadFile(patchedFileName, &patchedSize); + if (patchedChunk == NULL) + { + free(origChunk); + return -1; + } + if (origSize != patchedSize) + { + free(origChunk); + free(patchedChunk); + printf("File size of %s and %s differs (%d != %d)\n", + originalFileName, patchedFileName, + origSize, patchedSize); + return -1; + } + + /* Compare the files and record any differences */ + printf("Comparing %s to %s", originalFileName, patchedFileName); + for (i = 0, patchCount = 0; i < origSize; i++) + { + if (origChunk[i] != patchedChunk[i]) + { + patchCount++; + + /* Resize patches array if needed */ + if (patchesArrayCount < patchCount) + { + PatchedByte *newPatches; + newPatches = realloc(patches, patchCount * sizeof (PatchedByte)); + if (newPatches == NULL) + { + if (patches != NULL) + free(patches); + free(origChunk); + free(patchedChunk); + printf("\nOut of memory (tried to allocated %d bytes)\n", + patchCount * sizeof (PatchedByte)); + return -1; + } + patches = newPatches; + } + + /* Fill in patch info */ + patches[patchCount - 1].offset = i; + patches[patchCount - 1].expected = origChunk[i]; + patches[patchCount - 1].patched = patchedChunk[i]; + } + if ((i % (origSize / 40)) == 0) + printf("."); + } + printf(" %d changed bytes found.\n", patchCount); + + /* Unload the files */ + free(origChunk); + free(patchedChunk); + + /* Save patch info */ + patchedFile->fileSize = patchedSize; + patchedFile->patchCount = patchCount; + patchedFile->patches = patches; + + return 0; +} + + +static int +outputPatch(const char *outputFileName) +{ + unsigned char *patchExe, *patchBuffer; + int i, size, patchExeSize, patchSize, stringSize, stringOffset, patchOffset; + Patch *patch; + PatchedFile *files; + + printf("Putting patch into %s...\n", outputFileName); + + /* Calculate size of the patch */ + patchSize = sizeof (Patch) + sizeof (PatchedFile) * m_patch.fileCount; + stringSize = strlen(m_patch.name) + 1; + for (i = 0; i < m_patch.fileCount; i++) + { + stringSize += strlen(m_patch.files[i].name) + 1; + patchSize += sizeof (PatchedByte) * m_patch.files[i].patchCount; + } + if ((stringSize + patchSize) > PATCH_BUFFER_SIZE) + { + printf("Patch is too big - %d bytes maximum, %d bytes needed\n", + PATCH_BUFFER_SIZE, stringSize + patchSize); + return -1; + } + + /* Load patch.exe file into memory... */ + patchExe = loadFile(m_argv[0], &patchExeSize); + if (patchExe == NULL) + { + return -1; + } + + /* Try to find the magic mark for the patch buffer */ + for (i = 0; i < (patchExeSize - SIZEOF_PATCH_BUFFER_MAGIC); i++) + { + if (memcmp(patchExe + i, m_patchBuffer, SIZEOF_PATCH_BUFFER_MAGIC) == 0) + { + patchBuffer = patchExe + i + SIZEOF_PATCH_BUFFER_MAGIC; + + break; + } + } + if (!(i < (patchExeSize - SIZEOF_PATCH_BUFFER_MAGIC))) + { + free(patchExe); + printf("Couldn't find patch buffer magic in file %s - this shouldn't happen!!!\n", m_argv[0]); + return -1; + } + + /* Pack patch together and replace string pointers by offsets */ + patch = (Patch *)patchBuffer; + files = (PatchedFile *)(patchBuffer + sizeof (Patch)); + patchOffset = sizeof (Patch) + sizeof (PatchedFile) * m_patch.fileCount; + stringOffset = patchSize; + + patch->fileCount = m_patch.fileCount; + patch->files = (PatchedFile *)sizeof (Patch); + + patch->name = (const char *)stringOffset; + strcpy(patchBuffer + stringOffset, m_patch.name); + stringOffset += strlen(m_patch.name) + 1; + + for (i = 0; i < m_patch.fileCount; i++) + { + files[i].fileSize = m_patch.files[i].fileSize; + files[i].patchCount = m_patch.files[i].patchCount; + + files[i].name = (const char *)stringOffset; + strcpy(patchBuffer + stringOffset, m_patch.files[i].name); + stringOffset += strlen(m_patch.files[i].name) + 1; + + size = files[i].patchCount * sizeof (PatchedByte); + files[i].patches = (PatchedByte *)patchOffset; + memcpy(patchBuffer + patchOffset, m_patch.files[i].patches, size); + patchOffset += size; + } + size = patchSize + stringSize; + memset(patchBuffer + size, 0, PATCH_BUFFER_SIZE - size); + + /* Save file */ + if (saveFile(outputFileName, patchExe, patchExeSize) < 0) + { + free(patchExe); + return -1; + } + free(patchExe); + + printf("Patch saved!\n"); + return 0; +} + + +static int +loadPatch() +{ + char *p; + Patch *patch; + int i; + + p = m_patchBuffer + SIZEOF_PATCH_BUFFER_MAGIC; + patch = (Patch *)p; + + if (patch->name == NULL) + { + return -1; + } + + m_patch.name = p + (int)patch->name; + m_patch.fileCount = patch->fileCount; + m_patch.files = (PatchedFile *)(p + (int)patch->files); + + for (i = 0; i < m_patch.fileCount; i++) + { + m_patch.files[i].name = p + (int)m_patch.files[i].name; + m_patch.files[i].patches = (PatchedByte *)(p + (int)m_patch.files[i].patches); + } + + printf("Patch %s loaded...\n", m_patch.name); + return 0; +} + + +/** MAIN FUNCTIONS ************************************************************/ + +static int +createPatch() +{ + int i, status; + const char *outputFileName; + + /* Check argument count */ + if (m_argc < 6 || (m_argc % 2) != 0) + { + printUsage(); + return -1; + } + + outputFileName = m_argv[3]; + m_patch.name = m_argv[2]; + + /* Allocate PatchedFiles array */ + m_patch.fileCount = (m_argc - 4) / 2; + m_patch.files = malloc(m_patch.fileCount * sizeof (PatchedFile)); + if (m_patch.files == NULL) + { + printf("Out of memory!\n"); + return -1; + } + memset(m_patch.files, 0, m_patch.fileCount * sizeof (PatchedFile)); + + /* Compare original to patched files and fill m_patch.files array */ + for (i = 0; i < m_patch.fileCount; i++) + { + m_patch.files[i].name = m_argv[4 + (i * 2) + 1]; + status = compareFiles(m_patch.files + i, m_argv[4 + (i * 2) + 0]); + if (status < 0) + { + for (i = 0; i < m_patch.fileCount; i++) + { + if (m_patch.files[i].patches != NULL) + free(m_patch.files[i].patches); + } + free(m_patch.files); + m_patch.files = NULL; + m_patch.fileCount = 0; + return status; + } + } + + /* Output patch */ + return outputPatch(outputFileName); +} + + +static int +applyPatch() +{ + int c, i, j, fileSize, makeBackup; + unsigned char *file; + char *p; + const char *fileName; + char buffer[MAX_PATH]; + + + if (m_argc > 1 && strcmp(m_argv[1], "-d") != 0) + { + printUsage(); + return -1; + } + + /* Load patch */ + if (loadPatch() < 0) + { + printf("This executable doesn't contain a patch, use -c to create one.\n"); + return -1; + } + + if (m_argc > 1) + { + /* Dump patch */ + printf("Patch name: %s\n", m_patch.name); + printf("File count: %d\n", m_patch.fileCount); + for (i = 0; i < m_patch.fileCount; i++) + { + printf("----------------------\n" + "File name: %s\n" + "File size: %d bytes\n", + m_patch.files[i].name, m_patch.files[i].fileSize); + printf("Patch count: %d\n", m_patch.files[i].patchCount); + for (j = 0; j < m_patch.files[i].patchCount; j++) + { + printf(" Offset 0x%x 0x%02x -> 0x%02x\n", + m_patch.files[i].patches[j].offset, + m_patch.files[i].patches[j].expected, + m_patch.files[i].patches[j].patched); + } + } + } + else + { + /* Apply patch */ + printf("Applying patch...\n"); + for (i = 0; i < m_patch.fileCount; i++) + { + /* Load original file */ + fileName = m_patch.files[i].name; +applyPatch_retry_file: + file = loadFile(fileName, &fileSize); + if (file == NULL) + { + printf("File %s not found! ", fileName); +applyPatch_file_open_error: + printf("(S)kip, (R)etry, (A)bort, (M)anually enter filename"); + do + { + c = getch(); + } + while (c != 's' && c != 'r' && c != 'a' && c != 'm'); + printf("\n"); + if (c == 's') + { + continue; + } + else if (c == 'r') + { + goto applyPatch_retry_file; + } + else if (c == 'a') + { + return 0; + } + else if (c == 'm') + { + if (fgets(buffer, sizeof (buffer), stdin) == NULL) + { + printf("fgets() failed!\n"); + return -1; + } + p = strchr(buffer, '\r'); + if (p != NULL) + *p = '\0'; + p = strchr(buffer, '\n'); + if (p != NULL) + *p = '\0'; + + fileName = buffer; + goto applyPatch_retry_file; + } + } + + /* Check file size */ + if (fileSize != m_patch.files[i].fileSize) + { + free(file); + printf("File %s has unexpected filesize of %d bytes (%d bytes expected)\n", + fileName, fileSize, m_patch.files[i].fileSize); + if (fileName != m_patch.files[i].name) /* manually entered filename */ + { + goto applyPatch_file_open_error; + } + return -1; + } + + /* Ask for backup */ + printf("Do you want to make a backup of %s? (Y)es, (N)o, (A)bort", fileName); + do + { + c = getch(); + } + while (c != 'y' && c != 'n' && c != 'a'); + printf("\n"); + if (c == 'y') + { + char buffer[MAX_PATH]; + snprintf(buffer, MAX_PATH, "%s.bak", fileName); + buffer[MAX_PATH-1] = '\0'; + makeBackup = 1; + if (access(buffer, 0) >= 0) /* file exists */ + { + printf("File %s already exists, overwrite? (Y)es, (N)o, (A)bort", buffer); + do + { + c = getch(); + } + while (c != 'y' && c != 'n' && c != 'a'); + printf("\n"); + if (c == 'n') + makeBackup = 0; + else if (c == 'a') + { + free(file); + return 0; + } + } + if (makeBackup && saveFile(buffer, file, fileSize) < 0) + { + free(file); + return -1; + } + } + else if (c == 'a') + { + free(file); + return 0; + } + + /* Patch file */ + for (j = 0; j < m_patch.files[i].patchCount; j++) + { + int offset = m_patch.files[i].patches[j].offset; + if (file[offset] != m_patch.files[i].patches[j].expected) + { + printf("Unexpected value in file %s at offset 0x%x: expected = 0x%02x, found = 0x%02x\n", + fileName, offset, m_patch.files[i].patches[j].expected, file[offset]); + free(file); + return -1; + } + file[offset] = m_patch.files[i].patches[j].patched; + } + + /* Save file */ + if (saveFile(fileName, file, fileSize) < 0) + { + free(file); + return -1; + } + free(file); + } + + printf("Patch applied sucessfully!\n"); + } + + return 0; +} + + +static void +printUsage() +{ + printf("Usage:\n" + "%s -c - Create patch\n" + "%s -d - Dump patch\n" + "%s - Apply patch\n" + "\n" + "A patch can be created like this:\n" + "%s -c \"patch name\" output.exe file1.orig file1.patched[ file2.orig file2.patched[ ...]]\n", + m_argv[0], m_argv[0], m_argv[0], m_argv[0]); +} + + +int +main( + int argc, + char *argv[]) +{ + m_argc = argc; + m_argv = argv; + + if (argc >= 2 && (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0)) + { + printUsage(); + return 0; + } + else if (argc >= 2 && argv[1][0] == '-') + { + if (strcmp(argv[1], "-c") == 0) + { + return createPatch(); + } + else if (strcmp(argv[1], "-d") == 0) + { + return applyPatch(); + } + else + { + printf("Unknown option: %s\n" + "Use -h for help.\n", + argv[1]); + return -1; + } + } + + return applyPatch(); +} +
20 years, 1 month
1
0
0
0
[hpoussin] 14134: Revert revision 14118 changes
by hpoussin@svn.reactos.com
Revert revision 14118 changes Modified: trunk/reactos/lib/shell32/Makefile.in Modified: trunk/reactos/lib/shell32/brsfolder.c Modified: trunk/reactos/lib/shell32/classes.c Modified: trunk/reactos/lib/shell32/clipboard.c Modified: trunk/reactos/lib/shell32/dialogs.c Modified: trunk/reactos/lib/shell32/enumidlist.c Modified: trunk/reactos/lib/shell32/enumidlist.h Modified: trunk/reactos/lib/shell32/folders.c Modified: trunk/reactos/lib/shell32/pidl.c Modified: trunk/reactos/lib/shell32/pidl.h Modified: trunk/reactos/lib/shell32/shell32.spec Modified: trunk/reactos/lib/shell32/shell32_Es.rc Modified: trunk/reactos/lib/shell32/shell32_Pt.rc Modified: trunk/reactos/lib/shell32/shell32_main.c Modified: trunk/reactos/lib/shell32/shell32_main.h Modified: trunk/reactos/lib/shell32/shelllink.c Modified: trunk/reactos/lib/shell32/shellpath.c Modified: trunk/reactos/lib/shell32/shfldr.h Modified: trunk/reactos/lib/shell32/shfldr_desktop.c Modified: trunk/reactos/lib/shell32/shfldr_fs.c Modified: trunk/reactos/lib/shell32/shfldr_mycomp.c Deleted: trunk/reactos/lib/shell32/shfldr_unixfs.c Modified: trunk/reactos/lib/shell32/shlexec.c Modified: trunk/reactos/lib/shell32/shlfileop.c Modified: trunk/reactos/lib/shell32/shlfolder.c Modified: trunk/reactos/lib/shell32/shlfsbind.c Modified: trunk/reactos/lib/shell32/shlview.c _____ Modified: trunk/reactos/lib/shell32/Makefile.in --- trunk/reactos/lib/shell32/Makefile.in 2005-03-16 11:50:24 UTC (rev 14133) +++ trunk/reactos/lib/shell32/Makefile.in 2005-03-16 12:33:26 UTC (rev 14134) @@ -37,7 +37,6 @@ shfldr_desktop.c \ shfldr_fs.c \ shfldr_mycomp.c \ - shfldr_unixfs.c \ shlexec.c \ shlfileop.c \ shlfolder.c \ @@ -78,7 +77,7 @@ $(LDPATH) $(RC16) $(RC16FLAGS) -fo$@ $(SRCDIR)/version16.rc shell.spec.c: shell.spec version16.res - $(WINEBUILD) $(DEFS) $(DLLFLAGS) --dll -o $@ --main-module $(MODULE) --res version16.res --export $(SRCDIR)/shell.spec + $(WINEBUILD) $(DEFS) $(DLLFLAGS) -o $@ --main-module $(MODULE) --res version16.res --dll $(SRCDIR)/shell.spec authors.c: $(TOPSRCDIR)/AUTHORS (LC_ALL=C; export LC_ALL; echo 'const char * const SHELL_Authors[] = {' && \ _____ Modified: trunk/reactos/lib/shell32/brsfolder.c --- trunk/reactos/lib/shell32/brsfolder.c 2005-03-16 11:50:24 UTC (rev 14133) +++ trunk/reactos/lib/shell32/brsfolder.c 2005-03-16 12:33:26 UTC (rev 14134) @@ -55,95 +55,68 @@ return SHCONTF_FOLDERS | (ulFlags & BIF_BROWSEINCLUDEFILES ? SHCONTF_NONFOLDERS : 0); } -/********************************************************************** ******** - * InitializeTreeView [Internal] - * - * Called from WM_INITDIALOG handler. - * - * PARAMS - * hwndParent [I] The BrowseForFolder dialog - * root [I] ITEMIDLIST of the root shell folder - */ static void InitializeTreeView(HWND hwndParent, LPCITEMIDLIST root) { - LPITEMIDLIST pidlParent, pidlChild; - HIMAGELIST hImageList; - HRESULT hr; - IShellFolder *lpsfParent, *lpsfRoot; - IEnumIDList * pEnumChildren = NULL; + HIMAGELIST hImageList; + IShellFolder * lpsf; + HRESULT hr; + IEnumIDList * pEnumIL = NULL; + LPITEMIDLIST parentofroot; + parentofroot = ILClone(root); + ILRemoveLastID(parentofroot); - TRACE("dlg=%p tree=%p\n", hwndParent, hwndTreeView ); - - hwndTreeView = GetDlgItem (hwndParent, IDD_TREEVIEW); - if (!hwndTreeView) { - FIXME("Could not get handle to treeview control! Error: %08lx\n", GetLastError()); - return; - } - Shell_GetImageList(NULL, &hImageList); + hwndTreeView = GetDlgItem (hwndParent, IDD_TREEVIEW); + Shell_GetImageList(NULL, &hImageList); - if (hImageList) - TreeView_SetImageList(hwndTreeView, hImageList, 0); + TRACE("dlg=%p tree=%p\n", hwndParent, hwndTreeView ); - /* We want to call InsertTreeViewItem down the code, in order to insert - * the root item of the treeview. Due to InsertTreeViewItem's signature, - * we need the following to do this: - * - * + An ITEMIDLIST corresponding to _the parent_ of root. - * + An ITEMIDLIST, which is a relative path from root's parent to root - * (containing a single SHITEMID). - * + An IShellFolder interface pointer of root's parent folder. - * - * If root is 'Desktop', then root's parent is also 'Desktop'. - */ + if (hImageList && hwndTreeView) + TreeView_SetImageList(hwndTreeView, hImageList, 0); - pidlParent = ILClone(root); - ILRemoveLastID(pidlParent); - pidlChild = ILClone(ILFindLastID(root)); - - if (_ILIsDesktop(pidlParent)) { - hr = SHGetDesktopFolder(&lpsfParent); - } else { - IShellFolder *lpsfDesktop; - hr = SHGetDesktopFolder(&lpsfDesktop); - if (!SUCCEEDED(hr)) { - WARN("SHGetDesktopFolder failed! hr = %08lx\n", hr); - return; - } - hr = IShellFolder_BindToObject(lpsfDesktop, pidlParent, 0, &IID_IShellFolder, (LPVOID*)&lpsfParent); - IShellFolder_Release(lpsfDesktop); - } - - if (!SUCCEEDED(hr)) { - WARN("Could not bind to parent shell folder! hr = %08lx\n", hr); - return; - } + if (_ILIsDesktop (root)) { + hr = SHGetDesktopFolder(&lpsf); + } else { + IShellFolder * lpsfdesktop; - if (pidlChild && pidlChild->mkid.cb) { - hr = IShellFolder_BindToObject(lpsfParent, pidlChild, 0, &IID_IShellFolder, (LPVOID*)&lpsfRoot); - } else { - lpsfRoot = lpsfParent; - hr = IShellFolder_AddRef(lpsfParent); - } - - if (!SUCCEEDED(hr)) { - WARN("Could not bind to root shell folder! hr = %08lx\n", hr); - IShellFolder_Release(lpsfParent); - return; - } + hr = SHGetDesktopFolder(&lpsfdesktop); + if (SUCCEEDED(hr)) { + hr = IShellFolder_BindToObject(lpsfdesktop, parentofroot, 0,(REFIID)&IID_IShellFolder,(LPVOID *)&lpsf); + IShellFolder_Release(lpsfdesktop); + } + } + if (SUCCEEDED(hr)) + { + IShellFolder * pSFRoot; + if (_ILIsPidlSimple(root)) + { + pSFRoot = lpsf; + IShellFolder_AddRef(pSFRoot); + } + else + hr = IShellFolder_BindToObject(lpsf,ILFindLastID(root),0,&IID_IShellFolder,(L PVOID *)&pSFRoot); + if (SUCCEEDED(hr)) + { + hr = IShellFolder_EnumObjects( + pSFRoot, + hwndParent, + BrowseFlagsToSHCONTF(lpBrowseInfo->ulFlags), + &pEnumIL); + IShellFolder_Release(pSFRoot); + } + } - hr = IShellFolder_EnumObjects(lpsfRoot, hwndParent, BrowseFlagsToSHCONTF(lpBrowseInfo->ulFlags), &pEnumChildren); - if (!SUCCEEDED(hr)) { - WARN("Could not get child iterator! hr = %08lx\n", hr); - IShellFolder_Release(lpsfParent); - IShellFolder_Release(lpsfRoot); - return; - } + if (SUCCEEDED(hr) && hwndTreeView) + { + TreeView_DeleteAllItems(hwndTreeView); + TreeView_Expand(hwndTreeView, + InsertTreeViewItem(lpsf, _ILIsPidlSimple(root) ? root : ILFindLastID(root), parentofroot, pEnumIL, TVI_ROOT), + TVE_EXPAND); + } - TreeView_DeleteAllItems(hwndTreeView); - TreeView_Expand(hwndTreeView, InsertTreeViewItem(lpsfParent, pidlChild, pidlParent, pEnumChildren, TVI_ROOT), TVE_EXPAND); + if (SUCCEEDED(hr)) + IShellFolder_Release(lpsf); - IShellFolder_Release(lpsfRoot); - IShellFolder_Release(lpsfParent); + TRACE("done\n"); } static int GetIcon(LPITEMIDLIST lpi, UINT uFlags) @@ -176,27 +149,12 @@ typedef struct tagID { - LPSHELLFOLDER lpsfParent; /* IShellFolder of the parent */ - LPITEMIDLIST lpi; /* PIDL relativ to parent */ - LPITEMIDLIST lpifq; /* Fully qualified PIDL */ - IEnumIDList* pEnumIL; /* Children iterator */ + LPSHELLFOLDER lpsfParent; + LPITEMIDLIST lpi; + LPITEMIDLIST lpifq; + IEnumIDList* pEnumIL; } TV_ITEMDATA, *LPTV_ITEMDATA; -/********************************************************************** ******** - * GetName [Internal] - * - * Query a shell folder for the display name of one of it's children - * - * PARAMS - * lpsf [I] IShellFolder interface of the folder to be queried. - * lpi [I] ITEMIDLIST of the child, relative to parent - * dwFlags [I] as in IShellFolder::GetDisplayNameOf - * lpFriendlyName [O] The desired display name in unicode - * - * RETURNS - * Success: TRUE - * Failure: FALSE - */ static BOOL GetName(LPSHELLFOLDER lpsf, LPCITEMIDLIST lpi, DWORD dwFlags, LPWSTR lpFriendlyName) { BOOL bSuccess=TRUE; @@ -217,22 +175,7 @@ return bSuccess; } -/********************************************************************** ******** - * InsertTreeViewItem [Internal] - * - * PARAMS - * lpsf [I] IShellFolder interface of the item's parent shell folder - * pidl [I] ITEMIDLIST of the child to insert, relativ to parent - * pidlParent [I] ITEMIDLIST of the parent shell folder - * pEnumIL [I] Iterator for the children of the item to be inserted - * hParent [I] The treeview-item that represents the parent shell folder - * - * RETURNS - * Success: Handle to the created and inserted treeview-item - * Failure: NULL - */ -static HTREEITEM InsertTreeViewItem(IShellFolder * lpsf, LPCITEMIDLIST pidl, - LPCITEMIDLIST pidlParent, IEnumIDList* pEnumIL, HTREEITEM hParent) +static HTREEITEM InsertTreeViewItem(IShellFolder * lpsf, LPCITEMIDLIST pidl, LPCITEMIDLIST pidlParent, IEnumIDList* pEnumIL, HTREEITEM hParent) { TVITEMW tvi; TVINSERTSTRUCTW tvins; @@ -268,18 +211,6 @@ return (HTREEITEM)TreeView_InsertItemW(hwndTreeView, &tvins); } -/********************************************************************** ******** - * FillTreeView [Internal] - * - * For each child (given by lpe) of the parent shell folder, which is given by - * lpsf and whose PIDL is pidl, insert a treeview-item right under hParent - * - * PARAMS - * lpsf [I] IShellFolder interface of the parent shell folder - * pidl [I] ITEMIDLIST of the parent shell folder - * hParent [I] The treeview item that represents the parent shell folder - * lpe [I] An iterator for the children of the parent shell folder - */ static void FillTreeView(IShellFolder * lpsf, LPITEMIDLIST pidl, HTREEITEM hParent, IEnumIDList* lpe) { HTREEITEM hPrev = 0; @@ -288,11 +219,7 @@ HRESULT hr; HWND hwnd=GetParent(hwndTreeView); - TRACE("%p %p %x %p\n",lpsf, pidl, (INT)hParent, lpe); - - /* No IEnumIDList -> No children */ - if (!lpe) return; - + TRACE("%p %p %x\n",lpsf, pidl, (INT)hParent); SetCapture(GetParent(hwndTreeView)); SetCursor(LoadCursorA(0, (LPSTR)IDC_WAIT)); _____ Modified: trunk/reactos/lib/shell32/classes.c --- trunk/reactos/lib/shell32/classes.c 2005-03-16 11:50:24 UTC (rev 14133) +++ trunk/reactos/lib/shell32/classes.c 2005-03-16 12:33:26 UTC (rev 14134) @@ -116,7 +116,7 @@ BOOL HCR_GetExecuteCommandW( HKEY hkeyClass, LPCWSTR szClass, LPCWSTR szVerb, LPWSTR szDest, DWORD len ) { - static const WCHAR swShell[] = {'s','h','e','l','l','\\',0}; + static const WCHAR swShell[] = {'\\','s','h','e','l','l','\\',0}; static const WCHAR swCommand[] = {'\\','c','o','m','m','a','n','d',0}; BOOL ret = FALSE; _____ Modified: trunk/reactos/lib/shell32/clipboard.c --- trunk/reactos/lib/shell32/clipboard.c 2005-03-16 11:50:24 UTC (rev 14133) +++ trunk/reactos/lib/shell32/clipboard.c 2005-03-16 12:33:26 UTC (rev 14134) @@ -26,7 +26,7 @@ * - a right mousebutton-copy sets the following formats: * classic: * Shell IDList Array - * Preferred Drop Effect + * Prefered Drop Effect * Shell Object Offsets * HDROP * FileName _____ Modified: trunk/reactos/lib/shell32/dialogs.c --- trunk/reactos/lib/shell32/dialogs.c 2005-03-16 11:50:24 UTC (rev 14133) +++ trunk/reactos/lib/shell32/dialogs.c 2005-03-16 12:33:26 UTC (rev 14134) @@ -127,9 +127,9 @@ case WM_INITDIALOG : prfdp = (RUNFILEDLGPARAMS *)lParam ; SetWindowTextA (hwnd, prfdp->lpstrTitle) ; - SetClassLongPtrW (hwnd, GCLP_HICON, (LPARAM)prfdp->hIcon) ; - SendMessageW (GetDlgItem (hwnd, 12297), STM_SETICON, - (WPARAM)LoadIconW (NULL, (LPCWSTR)IDI_WINLOGO), 0); + SetClassLongA (hwnd, GCL_HICON, (LPARAM)prfdp->hIcon) ; + SendMessageA (GetDlgItem (hwnd, 12297), STM_SETICON, + (WPARAM)LoadIconA (NULL, (LPSTR)IDI_WINLOGO), 0); FillList (GetDlgItem (hwnd, 12298), NULL) ; SetFocus (GetDlgItem (hwnd, 12298)) ; return TRUE ; @@ -283,7 +283,7 @@ if (NULL != pszLatest) { - if (!lstrcmpiA(pszCmd, pszLatest)) + if (!strcasecmp (pszCmd, pszLatest)) { /* sprintf (szDbgMsg, "Found existing (%d).\n", Nix) ; _____ Modified: trunk/reactos/lib/shell32/enumidlist.c --- trunk/reactos/lib/shell32/enumidlist.c 2005-03-16 11:50:24 UTC (rev 14133) +++ trunk/reactos/lib/shell32/enumidlist.c 2005-03-16 12:33:26 UTC (rev 14134) @@ -25,7 +25,6 @@ #define COBJMACROS #include "wine/debug.h" -#include "wine/unicode.h" #include "windef.h" #include "winbase.h" #include "winreg.h" @@ -104,27 +103,24 @@ */ BOOL CreateFolderEnumList( IEnumIDList *list, - LPCWSTR lpszPath, + LPCSTR lpszPath, DWORD dwFlags) { LPITEMIDLIST pidl=NULL; - WIN32_FIND_DATAW stffile; + WIN32_FIND_DATAA stffile; HANDLE hFile; - WCHAR szPath[MAX_PATH]; + CHAR szPath[MAX_PATH]; BOOL succeeded = TRUE; - const static WCHAR stars[] = { '*','.','*',0 }; - const static WCHAR dot[] = { '.',0 }; - const static WCHAR dotdot[] = { '.','.',0 }; - TRACE("(%p)->(path=%s flags=0x%08lx) \n",list,debugstr_w(lpszPath),dwFlags); + TRACE("(%p)->(path=%s flags=0x%08lx) \n",list,debugstr_a(lpszPath),dwFlags); if(!lpszPath || !lpszPath[0]) return FALSE; - strcpyW(szPath, lpszPath); - PathAddBackslashW(szPath); - strcatW(szPath,stars); + strcpy(szPath, lpszPath); + PathAddBackslashA(szPath); + strcat(szPath,"*.*"); - hFile = FindFirstFileW(szPath,&stffile); + hFile = FindFirstFileA(szPath,&stffile); if ( hFile != INVALID_HANDLE_VALUE ) { BOOL findFinished = FALSE; @@ -136,21 +132,21 @@ { if ( (stffile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && dwFlags & SHCONTF_FOLDERS && - strcmpW(stffile.cFileName, dot) && strcmpW(stffile.cFileName, dotdot)) + strcmp (stffile.cFileName, ".") && strcmp (stffile.cFileName, "..")) { - pidl = _ILCreateFromFindDataW(&stffile); + pidl = _ILCreateFromFindDataA(&stffile); succeeded = succeeded && AddToEnumList(list, pidl); } else if (!(stffile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && dwFlags & SHCONTF_NONFOLDERS) { - pidl = _ILCreateFromFindDataW(&stffile); + pidl = _ILCreateFromFindDataA(&stffile); succeeded = succeeded && AddToEnumList(list, pidl); } } if (succeeded) { - if (!FindNextFileW(hFile, &stffile)) + if (!FindNextFileA(hFile, &stffile)) { if (GetLastError() == ERROR_NO_MORE_FILES) findFinished = TRUE; _____ Modified: trunk/reactos/lib/shell32/enumidlist.h --- trunk/reactos/lib/shell32/enumidlist.h 2005-03-16 11:50:24 UTC (rev 14133) +++ trunk/reactos/lib/shell32/enumidlist.h 2005-03-16 12:33:26 UTC (rev 14134) @@ -25,6 +25,6 @@ /* Enumerates the folders and/or files (depending on dwFlags) in lpszPath and * adds them to the already-created list. */ -BOOL CreateFolderEnumList(IEnumIDList *list, LPCWSTR lpszPath, DWORD dwFlags); +BOOL CreateFolderEnumList(IEnumIDList *list, LPCSTR lpszPath, DWORD dwFlags); #endif /* ndef __ENUMIDLIST_H__ */ _____ Modified: trunk/reactos/lib/shell32/folders.c --- trunk/reactos/lib/shell32/folders.c 2005-03-16 11:50:24 UTC (rev 14133) +++ trunk/reactos/lib/shell32/folders.c 2005-03-16 12:33:26 UTC (rev 14134) @@ -328,7 +328,7 @@ found = TRUE; } - else if (!lstrcmpiA(sTemp, "lnkfile")) + else if (!strcasecmp(sTemp, "lnkfile")) { /* extract icon from shell shortcut */ IShellFolder* dsf; _____ Modified: trunk/reactos/lib/shell32/pidl.c --- trunk/reactos/lib/shell32/pidl.c 2005-03-16 11:50:24 UTC (rev 14133) +++ trunk/reactos/lib/shell32/pidl.c 2005-03-16 12:33:26 UTC (rev 14134) @@ -1,7 +1,7 @@ /* - * pidl Handling + * pidl Handling * - * Copyright 1998 Juergen Schmied + * Copyright 1998 Juergen Schmied * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -57,7 +57,7 @@ extern BOOL WINAPI Free(LPVOID); /*********************************************************************** ** - * ILGetDisplayNameEx [SHELL32.186] + * ILGetDisplayNameEx [SHELL32.186] * * Retrieves the display name of an ItemIDList * @@ -75,108 +75,106 @@ */ BOOL WINAPI ILGetDisplayNameExA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPSTR path, DWORD type) { - BOOL ret = FALSE; - WCHAR wPath[MAX_PATH]; + BOOL ret = FALSE; + WCHAR wPath[MAX_PATH]; - TRACE("%p %p %p %ld\n", psf, pidl, path, type); + TRACE("%p %p %p %ld\n", psf, pidl, path, type); - if (!pidl || !path) - return FALSE; + if (!pidl || !path) + return FALSE; - ret = ILGetDisplayNameExW(psf, pidl, wPath, type); - WideCharToMultiByte(CP_ACP, 0, wPath, -1, path, MAX_PATH, NULL, NULL); - TRACE("%p %p %s\n", psf, pidl, debugstr_a(path)); + ret = ILGetDisplayNameExW(psf, pidl, wPath, type); + WideCharToMultiByte(CP_ACP, 0, wPath, -1, path, MAX_PATH, NULL, NULL); + TRACE("%p %p %s\n", psf, pidl, debugstr_a(path)); - return ret; + return ret; } BOOL WINAPI ILGetDisplayNameExW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPWSTR path, DWORD type) { - LPSHELLFOLDER psfParent, lsf = psf; - HRESULT ret = NO_ERROR; - LPCITEMIDLIST pidllast; - STRRET strret; - DWORD flag; + LPSHELLFOLDER psfParent, lsf = psf; + HRESULT ret = NO_ERROR; + LPCITEMIDLIST pidllast; + STRRET strret; + DWORD flag; - TRACE("%p %p %p %ld\n", psf, pidl, path, type); + TRACE("%p %p %p %ld\n", psf, pidl, path, type); - if (!pidl || !path) - return FALSE; + if (!pidl || !path) + return FALSE; - if (!lsf) - { - ret = SHGetDesktopFolder(&lsf); - if (FAILED(ret)) - return FALSE; - } + if (!lsf) + { + ret = SHGetDesktopFolder(&lsf); + if (FAILED(ret)) + return FALSE; + } - if (type >= 0 && type <= 2) - { - switch (type) - { - case ILGDN_FORPARSING: - flag = SHGDN_FORPARSING | SHGDN_FORADDRESSBAR; - break; - case ILGDN_NORMAL: - flag = SHGDN_NORMAL; - break; - case ILGDN_INFOLDER: - flag = SHGDN_INFOLDER; - break; - default: - FIXME("Unknown type parameter = %lx\n", type); - flag = SHGDN_FORPARSING | SHGDN_FORADDRESSBAR; - break; - } - if (!*(const WORD*)pidl || type == ILGDN_FORPARSING) - { - ret = IShellFolder_GetDisplayNameOf(lsf, pidl, flag, &strret); - if (SUCCEEDED(ret)) - { - ret = StrRetToStrNW(path, MAX_PATH, &strret, pidl); - } - } - else - { - ret = SHBindToParent(pidl, &IID_IShellFolder, (LPVOID*)&psfParent, &pidllast); - if (SUCCEEDED(ret)) - { - ret = IShellFolder_GetDisplayNameOf(psfParent, pidllast, flag, &strret); - if (SUCCEEDED(ret)) - { - ret = StrRetToStrNW(path, MAX_PATH, &strret, pidllast); - } - IShellFolder_Release(psfParent); - } - } - } + if (type >= 0 && type <= 2) + { + switch (type) + { + case ILGDN_FORPARSING: + flag = SHGDN_FORPARSING | SHGDN_FORADDRESSBAR; + break; + case ILGDN_NORMAL: + flag = SHGDN_NORMAL; + break; + case ILGDN_INFOLDER: + flag = SHGDN_INFOLDER; + break; + default: + FIXME("Unknown type parameter = %lx\n", type); + flag = SHGDN_FORPARSING | SHGDN_FORADDRESSBAR; + break; + } + if (!*(const WORD*)pidl || type == ILGDN_FORPARSING) + { + ret = IShellFolder_GetDisplayNameOf(lsf, pidl, flag, &strret); + if (SUCCEEDED(ret)) + { + ret = StrRetToStrNW(path, MAX_PATH, &strret, pidl); + } + } + else + { + ret = SHBindToParent(pidl, &IID_IShellFolder, (LPVOID*)&psfParent, &pidllast); + if (SUCCEEDED(ret)) + { + ret = IShellFolder_GetDisplayNameOf(psfParent, pidllast, flag, &strret); + if (SUCCEEDED(ret)) + { + ret = StrRetToStrNW(path, MAX_PATH, &strret, pidllast); + } + IShellFolder_Release(psfParent); + } + } + } - TRACE("%p %p %s\n", psf, pidl, debugstr_w(path)); + TRACE("%p %p %s\n", psf, pidl, debugstr_w(path)); - if (!psf) - IShellFolder_Release(lsf); - return SUCCEEDED(ret); + if (!psf) + IShellFolder_Release(lsf); + return SUCCEEDED(ret); } BOOL WINAPI ILGetDisplayNameEx(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPVOID path, DWORD type) { - TRACE_(shell)("%p %p %p %ld\n", psf, pidl, path, type); - - if (SHELL_OsIsUnicode()) - return ILGetDisplayNameExW(psf, pidl, path, type); - return ILGetDisplayNameExA(psf, pidl, path, type); + TRACE_(shell)("%p %p %p %ld\n", psf, pidl, path, type); + if (SHELL_OsIsUnicode()) + return ILGetDisplayNameExW(psf, pidl, path, type); + return ILGetDisplayNameExA(psf, pidl, path, type); } /*********************************************************************** ** - * ILGetDisplayName [SHELL32.15] + * ILGetDisplayName [SHELL32.15] */ BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl, LPVOID path) { - TRACE_(shell)("%p %p\n", pidl, path); - - if (SHELL_OsIsUnicode()) - return ILGetDisplayNameExW(NULL, pidl, path, ILGDN_FORPARSING); - return ILGetDisplayNameExA(NULL, pidl, path, ILGDN_FORPARSING); + TRACE_(shell)("%p %p\n", pidl, path); + if (SHELL_OsIsUnicode()) + return ILGetDisplayNameExW(NULL, pidl, path, ILGDN_FORPARSING); + return ILGetDisplayNameExA(NULL, pidl, path, ILGDN_FORPARSING); } /*********************************************************************** ** @@ -187,21 +185,20 @@ */ LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST pidl) { - LPCITEMIDLIST pidlLast = pidl; + LPCITEMIDLIST pidlLast = pidl; - TRACE("(pidl=%p)\n",pidl); + TRACE("(pidl=%p)\n",pidl); - if (!pidl) - return NULL; + if (!pidl) + return NULL; - while (pidl->mkid.cb) - { - pidlLast = pidl; - pidl = ILGetNext(pidl); - } - return (LPITEMIDLIST)pidlLast; + while (pidl->mkid.cb) + { + pidlLast = pidl; + pidl = ILGetNext(pidl); + } + return (LPITEMIDLIST)pidlLast; } - /*********************************************************************** ** * ILRemoveLastID [SHELL32.17] * @@ -210,12 +207,12 @@ */ BOOL WINAPI ILRemoveLastID(LPITEMIDLIST pidl) { - TRACE_(shell)("pidl=%p\n",pidl); + TRACE_(shell)("pidl=%p\n",pidl); - if (!pidl || !pidl->mkid.cb) - return 0; - ILFindLastID(pidl)->mkid.cb = 0; - return 1; + if (!pidl || !pidl->mkid.cb) + return 0; + ILFindLastID(pidl)->mkid.cb = 0; + return 1; } /*********************************************************************** ** @@ -225,24 +222,22 @@ * duplicate an idlist */ LPITEMIDLIST WINAPI ILClone (LPCITEMIDLIST pidl) -{ - DWORD len; - LPITEMIDLIST newpidl; +{ DWORD len; + LPITEMIDLIST newpidl; - if (!pidl) - return NULL; + if (!pidl) + return NULL; - len = ILGetSize(pidl); - newpidl = (LPITEMIDLIST)SHAlloc(len); - if (newpidl) - memcpy(newpidl,pidl,len); + len = ILGetSize(pidl); + newpidl = (LPITEMIDLIST)SHAlloc(len); + if (newpidl) + memcpy(newpidl,pidl,len); - TRACE("pidl=%p newpidl=%p\n",pidl, newpidl); - pdump(pidl); + TRACE("pidl=%p newpidl=%p\n",pidl, newpidl); + pdump(pidl); - return newpidl; + return newpidl; } - /*********************************************************************** ** * ILCloneFirst [SHELL32.19] * @@ -250,28 +245,27 @@ * duplicates the first idlist of a complex pidl */ LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl) -{ - DWORD len; - LPITEMIDLIST pidlNew = NULL; +{ DWORD len; + LPITEMIDLIST pidlNew = NULL; - TRACE("pidl=%p \n",pidl); - pdump(pidl); + TRACE("pidl=%p \n",pidl); + pdump(pidl); - if (pidl) - { - len = pidl->mkid.cb; - pidlNew = (LPITEMIDLIST) SHAlloc (len+2); - if (pidlNew) - { - memcpy(pidlNew,pidl,len+2); /* 2 -> mind a desktop pidl */ + if (pidl) + { + len = pidl->mkid.cb; + pidlNew = (LPITEMIDLIST) SHAlloc (len+2); + if (pidlNew) + { + memcpy(pidlNew,pidl,len+2); /* 2 -> mind a desktop pidl */ - if (len) - ILGetNext(pidlNew)->mkid.cb = 0x00; - } - } - TRACE("-- newpidl=%p\n",pidlNew); + if (len) + ILGetNext(pidlNew)->mkid.cb = 0x00; + } + } + TRACE("-- newpidl=%p\n",pidlNew); - return pidlNew; + return pidlNew; } /*********************************************************************** ** @@ -281,58 +275,51 @@ * the first two bytes are the len, the pidl is following then */ HRESULT WINAPI ILLoadFromStream (IStream * pStream, LPITEMIDLIST * ppPidl) -{ - WORD wLen = 0; - DWORD dwBytesRead; - HRESULT ret = E_FAIL; +{ WORD wLen = 0; + DWORD dwBytesRead; + HRESULT ret = E_FAIL; - TRACE_(shell)("%p %p\n", pStream , ppPidl); + TRACE_(shell)("%p %p\n", pStream , ppPidl); - if (*ppPidl) - { - SHFree(*ppPidl); - *ppPidl = NULL; - } + if (*ppPidl) + { SHFree(*ppPidl); + *ppPidl = NULL; + } - IStream_AddRef (pStream); + IStream_AddRef (pStream); - if (SUCCEEDED(IStream_Read(pStream, (LPVOID)&wLen, 2, &dwBytesRead))) - { - TRACE("PIDL length is %d\n", wLen); - if (wLen != 0) - { - *ppPidl = SHAlloc (wLen); - if (SUCCEEDED(IStream_Read(pStream, *ppPidl , wLen, &dwBytesRead))) - { - TRACE("Stream read OK\n"); - ret = S_OK; - } - else - { - WARN("reading pidl failed\n"); - SHFree(*ppPidl); - *ppPidl = NULL; - } - } - else - { - *ppPidl = NULL; - ret = S_OK; - } - } + if (SUCCEEDED(IStream_Read(pStream, (LPVOID)&wLen, 2, &dwBytesRead))) + { + TRACE("PIDL length is %d\n", wLen); + if (wLen != 0) { + *ppPidl = SHAlloc (wLen); + if (SUCCEEDED(IStream_Read(pStream, *ppPidl , wLen, &dwBytesRead))) { + TRACE("Stream read OK\n"); + ret = S_OK; + } else { + WARN("reading pidl failed\n"); + SHFree(*ppPidl); + *ppPidl = NULL; + } + } else { + *ppPidl = NULL; + ret = S_OK; + } + } - /* we are not yet fully compatible */ - if (*ppPidl && !pcheck(*ppPidl)) - { - WARN("Check failed\n"); - SHFree(*ppPidl); - *ppPidl = NULL; - } + /* we are not yet fully compatible */ + if (*ppPidl && !pcheck(*ppPidl)) + { + WARN("Check failed\n"); + SHFree(*ppPidl); + *ppPidl = NULL; + } - IStream_Release (pStream); - TRACE("done\n"); - return ret; + + IStream_Release (pStream); + TRACE("done\n"); + return ret; } /*********************************************************************** ** @@ -343,29 +330,30 @@ */ HRESULT WINAPI ILSaveToStream (IStream * pStream, LPCITEMIDLIST pPidl) { - LPCITEMIDLIST pidl; - WORD wLen = 0; - HRESULT ret = E_FAIL; + LPCITEMIDLIST pidl; + WORD wLen = 0; + HRESULT ret = E_FAIL; - TRACE_(shell)("%p %p\n", pStream, pPidl); + TRACE_(shell)("%p %p\n", pStream, pPidl); - IStream_AddRef (pStream); + IStream_AddRef (pStream); - pidl = pPidl; - while (pidl->mkid.cb) - { - wLen += sizeof(WORD) + pidl->mkid.cb; - pidl = ILGetNext(pidl); - } + pidl = pPidl; + while (pidl->mkid.cb) + { + wLen += sizeof(WORD) + pidl->mkid.cb; + pidl = ILGetNext(pidl); + } - if (SUCCEEDED(IStream_Write(pStream, (LPVOID)&wLen, 2, NULL))) - { - if (SUCCEEDED(IStream_Write(pStream, pPidl, wLen, NULL))) - ret = S_OK; - } - IStream_Release (pStream); + if (SUCCEEDED(IStream_Write(pStream, (LPVOID)&wLen, 2, NULL))) + { + if (SUCCEEDED(IStream_Write(pStream, pPidl, wLen, NULL))) + { ret = S_OK; + } + } + IStream_Release (pStream); - return ret; + return ret; } /*********************************************************************** ** @@ -387,37 +375,45 @@ */ HRESULT WINAPI SHILCreateFromPathA(LPCSTR path, LPITEMIDLIST * ppidl, DWORD * attributes) { - WCHAR lpszDisplayName[MAX_PATH]; + LPSHELLFOLDER sf; + WCHAR lpszDisplayName[MAX_PATH]; + DWORD pchEaten; + HRESULT ret = E_FAIL; - TRACE_(shell)("%s %p 0x%08lx\n", path, ppidl, attributes ? *attributes : 0); + TRACE_(shell)("%s %p 0x%08lx\n", path, ppidl, attributes ? *attributes : 0); - if (!MultiByteToWideChar(CP_ACP, 0, path, -1, lpszDisplayName, MAX_PATH)) - lpszDisplayName[MAX_PATH-1] = 0; + if (!MultiByteToWideChar(CP_ACP, 0, path, -1, lpszDisplayName, MAX_PATH)) + lpszDisplayName[MAX_PATH-1] = 0; - return SHILCreateFromPathW(lpszDisplayName, ppidl, attributes); + if (SUCCEEDED (SHGetDesktopFolder(&sf))) + { + ret = IShellFolder_ParseDisplayName(sf, 0, NULL, lpszDisplayName, &pchEaten, ppidl, attributes); + IShellFolder_Release(sf); + } + return ret; } HRESULT WINAPI SHILCreateFromPathW(LPCWSTR path, LPITEMIDLIST * ppidl, DWORD * attributes) { - LPSHELLFOLDER sf; - DWORD pchEaten; - HRESULT ret = E_FAIL; + LPSHELLFOLDER sf; + DWORD pchEaten; + HRESULT ret = E_FAIL; - TRACE_(shell)("%s %p 0x%08lx\n", debugstr_w(path), ppidl, attributes ? *attributes : 0); + TRACE_(shell)("%s %p 0x%08lx\n", debugstr_w(path), ppidl, attributes ? *attributes : 0); - if (SUCCEEDED (SHGetDesktopFolder(&sf))) - { - ret = IShellFolder_ParseDisplayName(sf, 0, NULL, (LPWSTR)path, &pchEaten, ppidl, attributes); - IShellFolder_Release(sf); - } - return ret; + if (SUCCEEDED (SHGetDesktopFolder(&sf))) + { + ret = IShellFolder_ParseDisplayName(sf, 0, NULL, (LPWSTR)path, &pchEaten, ppidl, attributes); + IShellFolder_Release(sf); + } + return ret; } HRESULT WINAPI SHILCreateFromPathAW (LPCVOID path, LPITEMIDLIST * ppidl, DWORD * attributes) { - if ( SHELL_OsIsUnicode()) - return SHILCreateFromPathW (path, ppidl, attributes); - return SHILCreateFromPathA (path, ppidl, attributes); + if ( SHELL_OsIsUnicode()) + return SHILCreateFromPathW (path, ppidl, attributes); + return SHILCreateFromPathA (path, ppidl, attributes); } /*********************************************************************** ** @@ -426,9 +422,9 @@ * Create an ItemIDList to one of the special folders. * PARAMS - * hwndOwner [in] - * nFolder [in] CSIDL_xxxxx - * fCreate [in] Create folder if it does not exist + * hwndOwner [in] + * nFolder [in] CSIDL_xxxxx + * fCreate [in] Create folder if it does not exist * * RETURNS * Success: The newly created pidl @@ -440,15 +436,14 @@ * shells IMalloc interface, aka ILFree. */ LPITEMIDLIST WINAPI SHCloneSpecialIDList(HWND hwndOwner, DWORD nFolder, BOOL fCreate) -{ - LPITEMIDLIST ppidl; - TRACE_(shell)("(hwnd=%p,csidl=0x%lx,%s).\n", hwndOwner, nFolder, fCreate ? "T" : "F"); +{ LPITEMIDLIST ppidl; + TRACE_(shell)("(hwnd=%p,csidl=0x%lx,%s).\n", hwndOwner, nFolder, fCreate ? "T" : "F"); - if (fCreate) - nFolder |= CSIDL_FLAG_CREATE; + if (fCreate) + nFolder |= CSIDL_FLAG_CREATE; - SHGetSpecialFolderLocation(hwndOwner, nFolder, &ppidl); - return ppidl; + SHGetSpecialFolderLocation(hwndOwner, nFolder, &ppidl); + return ppidl; } /*********************************************************************** ** @@ -466,22 +461,21 @@ * exported by ordinal. */ [truncated at 1000 lines; 10064 more skipped]
20 years, 1 month
1
0
0
0
[greatlrd] 14133: implemnet NtGdiDdGetDriverInfo and NtGdiDdWaitForVerticalBlank
by greatlrd@svn.reactos.com
implemnet NtGdiDdGetDriverInfo and NtGdiDdWaitForVerticalBlank it is untested. Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c Modified: trunk/reactos/subsys/win32k/ntddraw/stubs.c _____ Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c --- trunk/reactos/subsys/win32k/ntddraw/ddraw.c 2005-03-16 11:26:14 UTC (rev 14132) +++ trunk/reactos/subsys/win32k/ntddraw/ddraw.c 2005-03-16 11:50:24 UTC (rev 14133) @@ -274,4 +274,50 @@ } */ + + +DWORD STDCALL NtGdiDdGetDriverInfo( + HANDLE hDirectDrawLocal, + PDD_GETDRIVERINFODATA puGetDriverInfoData) + +{ + DWORD pdwNumHeaps; + VIDEOMEMORY *pvmList = NULL; + DWORD pdwNumFourCC; + DWORD *pdwFourCC = NULL; + DWORD ddRVal; + + + PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW); + + ddRVal = pDirectDraw->DrvGetDirectDrawInfo( + pDirectDraw->Global.dhpdev,(PDD_HALINFO) puGetDriverInfoData, + &pdwNumHeaps, pvmList, &pdwNumFourCC, pdwFourCC); + + GDIOBJ_UnlockObj(hDirectDrawLocal); + + return ddRVal; +} + + + +DWORD STDCALL NtGdiDdWaitForVerticalBlank( + HANDLE hDirectDrawLocal, + PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData +) +{ + DWORD ddRVal; + PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW); + + puWaitForVerticalBlankData->lpDD = pDirectDraw->Local.lpGbl; + + ddRVal = pDirectDraw->DdWaitForVerticalBlank(puWaitForVerticalBlankData); + + GDIOBJ_UnlockObj(hDirectDrawLocal); + + return ddRVal; +} + + + /* EOF */ _____ Modified: trunk/reactos/subsys/win32k/ntddraw/stubs.c --- trunk/reactos/subsys/win32k/ntddraw/stubs.c 2005-03-16 11:26:14 UTC (rev 14132) +++ trunk/reactos/subsys/win32k/ntddraw/stubs.c 2005-03-16 11:50:24 UTC (rev 14133) @@ -16,6 +16,17 @@ #include <debug.h> +DWORD STDCALL NtGdiDdGetAvailDriverMemory( + HANDLE hDirectDrawLocal, + PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData +) +{ + UNIMPLEMENTED + + + return 0; +} + BOOL STDCALL NtGdiD3dContextCreate( HANDLE hDirectDrawLocal, HANDLE hSurfColor, @@ -308,16 +319,7 @@ return 0; } -DWORD STDCALL NtGdiDdGetAvailDriverMemory( - HANDLE hDirectDraw, - PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData -) -{ - UNIMPLEMENTED - return 0; -} - DWORD STDCALL NtGdiDdGetBltStatus( HANDLE hSurface, PDD_GETBLTSTATUSDATA puGetBltStatusData @@ -338,15 +340,7 @@ return 0; } -DWORD STDCALL NtGdiDdGetDriverInfo( - HANDLE hDirectDraw, - PDD_GETDRIVERINFODATA puGetDriverInfoData -) -{ - UNIMPLEMENTED - return 0; -} DWORD STDCALL NtGdiDdGetDriverState( PDD_GETDRIVERSTATEDATA pdata @@ -600,14 +594,5 @@ return 0; } -DWORD STDCALL NtGdiDdWaitForVerticalBlank( - HANDLE hDirectDraw, - PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData -) -{ - UNIMPLEMENTED - return 0; -} - /* EOF */
20 years, 1 month
1
0
0
0
[hpoussin] 14132: Christoph von Wittich <Christoph@ApiViewer.de>
by hpoussin@svn.reactos.com
Christoph von Wittich <Christoph(a)ApiViewer.de> Added Unicode support and fixes cannot compile problem Modified: trunk/rosapps/cmdutils/mode/mode.c _____ Modified: trunk/rosapps/cmdutils/mode/mode.c --- trunk/rosapps/cmdutils/mode/mode.c 2005-03-16 09:45:26 UTC (rev 14131) +++ trunk/rosapps/cmdutils/mode/mode.c 2005-03-16 11:26:14 UTC (rev 14132) @@ -23,6 +23,7 @@ #include <windows.h> #include <string.h> #include <stdio.h> +#include <tchar.h> #define MAX_PORTNAME_LEN 20 #define MAX_COMPORT_NUM 10 @@ -31,20 +32,20 @@ #define NUM_ELEMENTS(a) (sizeof(a)/sizeof(a[0])) #define ASSERT(a) -const char* usage_strings[] = { - "Device Status: MODE [device] [/STATUS]", - "Select code page: MODE CON[:] CP SELECT=yyy", - "Code page status: MODE CON[:] CP [/STATUS]", - "Display mode: MODE CON[:] [COLS=c] [LINES=n]", - "Typematic rate: MODE CON[:] [RATE=r DELAY=d]", - "Redirect printing: MODE LPTn[:]=COMm[:]", - "Serial port: MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]\n" \ - " [to=on|off] [xon=on|off] [odsr=on|off]\n" \ - " [octs=on|off] [dtr=on|off|hs]\n" \ - " [rts=on|off|hs|tg] [idsr=on|off]", +const TCHAR* const usage_strings[] = { + _T("Device Status: MODE [device] [/STATUS]"), + _T("Select code page: MODE CON[:] CP SELECT=yyy"), + _T("Code page status: MODE CON[:] CP [/STATUS]"), + _T("Display mode: MODE CON[:] [COLS=c] [LINES=n]"), + _T("Typematic rate: MODE CON[:] [RATE=r DELAY=d]"), + _T("Redirect printing: MODE LPTn[:]=COMm[:]"), + _T("Serial port: MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]\n") \ + _T(" [to=on|off] [xon=on|off] [odsr=on|off]\n") \ + _T(" [octs=on|off] [dtr=on|off|hs]\n") \ + _T(" [rts=on|off|hs|tg] [idsr=on|off]"), }; -const char* parity_strings[] = { +const TCHAR* const parity_strings[] = { _T("None"), // default _T("Odd"), // only symbol in this set to have a 'd' in it _T("Even"), // ... 'v' in it @@ -52,72 +53,72 @@ _T("Space") // ... 's' and/or a 'c' in it }; -const char* control_strings[] = { "OFF", "ON", "HANDSHAKE", "TOGGLE" }; +const TCHAR* const control_strings[] = { _T("OFF"), _T("ON"), _T("HANDSHAKE"), _T("TOGGLE") }; -const char* stopbit_strings[] = { _T("1"), _T("1.5"), _T("2") }; +const TCHAR* const stopbit_strings[] = { _T("1"), _T("1.5"), _T("2") }; int Usage() { int i; - printf("\nConfigures system devices.\n\n"); - for (i = 0; i < NUM_ELEMENTS(usage_strings); i++) { - printf("%s\n", usage_strings[i]); - } - printf("\n"); - return 0; + _tprintf(_T("\nConfigures system devices.\n\n")); + for (i = 0; i < NUM_ELEMENTS(usage_strings); i++) { + _tprintf(_T("%s\n"), usage_strings[i]); + } + _tprintf(_T("\n")); + return 0; } int QueryDevices() { - char buffer[5000]; + TCHAR buffer[10240]; int len; - char* ptr = buffer; + TCHAR* ptr = buffer; *ptr = '\0'; if (QueryDosDevice(NULL, buffer, NUM_ELEMENTS(buffer))) { while (*ptr != '\0') { - len = strlen(ptr); - if (strstr(ptr, "COM")) { - printf(" Found serial device - %s\n", ptr); - } else if (strstr(ptr, "PRN")) { - printf(" Found printer device - %s\n", ptr); - } else if (strstr(ptr, "LPT")) { - printf(" Found parallel device - %s\n", ptr); + len = _tcslen(ptr); + if (_tcsstr(ptr, _T("COM"))) { + _tprintf(_T(" Found serial device - %s\n"), ptr); + } else if (_tcsstr(ptr, _T("PRN"))) { + _tprintf(_T(" Found printer device - %s\n"), ptr); + } else if (_tcsstr(ptr, _T("LPT"))) { + _tprintf(_T(" Found parallel device - %s\n"), ptr); } else { - printf(" Found other device - %s\n", ptr); + _tprintf(_T(" Found other device - %s\n"), ptr); } ptr += (len+1); } } else { - printf(" ERROR: QueryDosDevice(...) failed.\n"); + _tprintf(_T(" ERROR: QueryDosDevice(...) failed.\n")); } return 1; } -int ShowParrallelStatus(int nPortNum) +int ShowParallelStatus(int nPortNum) { - char buffer[250]; - char szPortName[MAX_PORTNAME_LEN]; + TCHAR buffer[250]; + TCHAR szPortName[MAX_PORTNAME_LEN]; - sprintf(szPortName, "LPT%d", nPortNum); - printf("\nStatus for device LPT%d:\n", nPortNum); - printf("-----------------------\n"); + _stprintf(szPortName, _T("LPT%d"), nPortNum); + _tprintf(_T("\nStatus for device LPT%d:\n"), nPortNum); + _tprintf(_T("-----------------------\n")); if (QueryDosDevice(szPortName, buffer, NUM_ELEMENTS(buffer))) { - char* ptr = strrchr(buffer, '\\'); + TCHAR* ptr = _tcsrchr(buffer, '\\'); if (ptr != NULL) { - if (0 == strcmp(szPortName, ++ptr)) { - printf(" Printer output is not being rerouted.\n"); + if (0 == _tcscmp(szPortName, ++ptr)) { + _tprintf(_T(" Printer output is not being rerouted.\n")); } else { - printf(" Printer output is being rerouted to serial port %s\n", ptr); + _tprintf(_T(" Printer output is being rerouted to serial port %s\n"), ptr); } return 0; } else { - printf(" QueryDosDevice(%s) returned unrecogised form %s.\n", szPortName, buffer); + _tprintf(_T(" QueryDosDevice(%s) returned unrecogised form %s.\n"), szPortName, buffer); } } else { - printf(" ERROR: QueryDosDevice(%s) failed.\n", szPortName); + _tprintf(_T(" ERROR: QueryDosDevice(%s) failed.\n"), szPortName); } return 1; } @@ -129,20 +130,20 @@ CONSOLE_SCREEN_BUFFER_INFO ConsoleScreenBufferInfo; HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); - printf("\nStatus for device CON:\n"); - printf("-----------------------\n"); + _tprintf(_T("\nStatus for device CON:\n")); + _tprintf(_T("-----------------------\n")); if (GetConsoleScreenBufferInfo(hConsoleOutput, &ConsoleScreenBufferInfo)) { - printf(" Lines: %d\n", ConsoleScreenBufferInfo.dwSize.Y); - printf(" Columns: %d\n", ConsoleScreenBufferInfo.dwSize.X); + _tprintf(_T(" Lines: %d\n"), ConsoleScreenBufferInfo.dwSize.Y); + _tprintf(_T(" Columns: %d\n"), ConsoleScreenBufferInfo.dwSize.X); } if (SystemParametersInfo(SPI_GETKEYBOARDDELAY, 0, &dwKbdDelay, 0)) { - printf(" Keyboard delay: %d\n", dwKbdDelay); + _tprintf(_T(" Keyboard delay: %d\n"), dwKbdDelay); } if (SystemParametersInfo(SPI_GETKEYBOARDSPEED, 0, &dwKbdSpeed, 0)) { - printf(" Keyboard rate: %d\n", dwKbdSpeed); + _tprintf(_T(" Keyboard rate: %d\n"), dwKbdSpeed); } - printf(" Code page: %d\n", GetConsoleOutputCP()); - return 0; + _tprintf(_T(" Code page: %d\n"), GetConsoleOutputCP()); + return 0; } static @@ -150,12 +151,12 @@ { BOOL result; HANDLE hPort; - char szPortName[MAX_PORTNAME_LEN]; + TCHAR szPortName[MAX_PORTNAME_LEN]; ASSERT(pDCB); ASSERT(pCommTimeouts); - sprintf(szPortName, _T("COM%d"), nPortNum); + _stprintf(szPortName, _T("COM%d"), nPortNum); hPort = CreateFile(szPortName, GENERIC_READ|GENERIC_WRITE, 0, // exclusive @@ -165,7 +166,8 @@ NULL); // no template if (hPort == (HANDLE)-1) { - printf("Illegal device name - %s\n", szPortName); + _tprintf(_T("Illegal device name - %s\n"), szPortName); + _tprintf(_T("Last error = 0x%lx\n"), GetLastError()); return FALSE; } if (bWrite) { @@ -174,7 +176,7 @@ result = GetCommState(hPort, pDCB); } if (!result) { - printf("Failed to %s the status for device COM%d:\n", bWrite ? "set" : "get", nPortNum); + _tprintf(_T("Failed to %s the status for device COM%d:\n"), bWrite ? _T("set") : _T("get"), nPortNum); CloseHandle(hPort); return FALSE; } @@ -184,7 +186,7 @@ result = GetCommTimeouts(hPort, pCommTimeouts); } if (!result) { - printf("Failed to %s Timeout status for device COM%d:\n", bWrite ? "set" : "get", nPortNum); + _tprintf(_T("Failed to %s Timeout status for device COM%d:\n"), bWrite ? _T("set") : _T("get"), nPortNum); CloseHandle(hPort); return FALSE; @@ -198,46 +200,46 @@ HANDLE hPort; DCB dcb; COMMTIMEOUTS CommTimeouts; - char szPortName[MAX_PORTNAME_LEN]; + TCHAR szPortName[MAX_PORTNAME_LEN]; if (!SerialPortQuery(nPortNum, &dcb, &CommTimeouts, FALSE)) { return 1; } if (dcb.Parity > NUM_ELEMENTS(parity_strings)) { - printf("ERROR: Invalid value for Parity Bits %d:\n", dcb.Parity); + _tprintf(_T("ERROR: Invalid value for Parity Bits %d:\n"), dcb.Parity); dcb.Parity = 0; } if (dcb.StopBits > NUM_ELEMENTS(stopbit_strings)) { - printf("ERROR: Invalid value for Stop Bits %d:\n", dcb.StopBits); + _tprintf(_T("ERROR: Invalid value for Stop Bits %d:\n"), dcb.StopBits); dcb.StopBits = 0; } - printf("\nStatus for device COM%d:\n", nPortNum); - printf("-----------------------\n"); - printf(" Baud: %d\n", dcb.BaudRate); - printf(" Parity: %s\n", parity_strings[dcb.Parity]); - printf(" Data Bits: %d\n", dcb.ByteSize); - printf(" Stop Bits: %s\n", stopbit_strings[dcb.StopBits]); - printf(" Timeout: %s\n", CommTimeouts.ReadIntervalTimeout ? "ON" : "OFF"); - printf(" XON/XOFF: %s\n", dcb.fOutX ? "ON" : "OFF"); - printf(" CTS handshaking: %s\n", dcb.fOutxCtsFlow ? "ON" : "OFF"); - printf(" DSR handshaking: %s\n", dcb.fOutxDsrFlow ? "ON" : "OFF"); - printf(" DSR sensitivity: %s\n", dcb.fDsrSensitivity ? "ON" : "OFF"); - printf(" DTR circuit: %s\n", control_strings[dcb.fDtrControl]); - printf(" RTS circuit: %s\n", control_strings[dcb.fRtsControl]); - return 0; + _tprintf(_T("\nStatus for device COM%d:\n"), nPortNum); + _tprintf(_T("-----------------------\n")); + _tprintf(_T(" Baud: %d\n"), dcb.BaudRate); + _tprintf(_T(" Parity: %s\n"), parity_strings[dcb.Parity]); + _tprintf(_T(" Data Bits: %d\n"), dcb.ByteSize); + _tprintf(_T(" Stop Bits: %s\n"), stopbit_strings[dcb.StopBits]); + _tprintf(_T(" Timeout: %s\n"), CommTimeouts.ReadIntervalTimeout ? _T("ON") : _T("OFF")); + _tprintf(_T(" XON/XOFF: %s\n"), dcb.fOutX ? _T("ON") : _T("OFF")); + _tprintf(_T(" CTS handshaking: %s\n"), dcb.fOutxCtsFlow ? _T("ON") : _T("OFF")); + _tprintf(_T(" DSR handshaking: %s\n"), dcb.fOutxDsrFlow ? _T("ON") : _T("OFF")); + _tprintf(_T(" DSR sensitivity: %s\n"), dcb.fDsrSensitivity ? _T("ON") : _T("OFF")); + _tprintf(_T(" DTR circuit: %s\n"), control_strings[dcb.fDtrControl]); + _tprintf(_T(" RTS circuit: %s\n"), control_strings[dcb.fRtsControl]); + return 0; } -int SetParrallelState(int nPortNum) +int SetParallelState(int nPortNum) { - char szPortName[MAX_PORTNAME_LEN]; - char szTargetPath[MAX_PORTNAME_LEN]; + TCHAR szPortName[MAX_PORTNAME_LEN]; + TCHAR szTargetPath[MAX_PORTNAME_LEN]; - sprintf(szPortName, _T("LPT%d"), nPortNum); - sprintf(szTargetPath, _T("COM%d"), nPortNum); + _stprintf(szPortName, _T("LPT%d"), nPortNum); + _stprintf(szTargetPath, _T("COM%d"), nPortNum); if (!DefineDosDevice(DDD_REMOVE_DEFINITION, szPortName, szTargetPath)) { DWORD error = GetLastError(); - printf("SetParrallelState(%d) - DefineDosDevice(%s) failed: %x\n", nPortNum, error); + _tprintf(_T("SetParallelState(%d) - DefineDosDevice(%s) failed: %x\n"), nPortNum, error); } return 0; } @@ -269,67 +271,67 @@ } static -int ExtractModeSerialParams(const char* param) +int ExtractModeSerialParams(const TCHAR* param) { - if ( strstr(param, "OFF")) { + if ( _tcsstr(param, _T("OFF"))) { return 0; - } else if (strstr(param, "ON")) { + } else if (_tcsstr(param, _T("ON"))) { return 1; - } else if (strstr(param, "HS")) { + } else if (_tcsstr(param, _T("HS"))) { return 2; - } else if (strstr(param, "TG")) { + } else if (_tcsstr(param, _T("TG"))) { return 3; } return -1; } -int SetSerialState(int nPortNum, int args, char *argv[]) +int SetSerialState(int nPortNum, int args, TCHAR *argv[]) { int arg; int value; DCB dcb; COMMTIMEOUTS CommTimeouts; - char buf[MAX_COMPARAM_LEN+1]; + TCHAR buf[MAX_COMPARAM_LEN+1]; if (SerialPortQuery(nPortNum, &dcb, &CommTimeouts, FALSE)) { for (arg = 2; arg < args; arg++) { - if (strlen(argv[arg]) > MAX_COMPARAM_LEN) { - printf("Invalid parameter (too long) - %s\n", argv[arg]); + if (_tcslen(argv[arg]) > MAX_COMPARAM_LEN) { + _tprintf(_T("Invalid parameter (too long) - %s\n"), argv[arg]); return 1; } - strcpy(buf, argv[arg]); - strupr(buf); - if (strstr(buf, "BAUD=")) { - dcb.BaudRate = atol(buf+5); - } else if (strstr(buf, "PARITY=")) { - if (strchr(buf, 'D')) { + _tcscpy(buf, argv[arg]); + _tcslwr(buf); + if (_tcsstr(buf, _T("baud="))) { + _tscanf(buf+5, "%lu", &dcb.BaudRate); + } else if (_tcsstr(buf, _T("parity="))) { + if (_tcschr(buf, 'D')) { dcb.Parity = 1; - } else if (strchr(buf, 'V')) { + } else if (_tcschr(buf, 'V')) { dcb.Parity = 2; - } else if (strchr(buf, 'M')) { + } else if (_tcschr(buf, 'M')) { dcb.Parity = 3; - } else if (strchr(buf, 'S')) { + } else if (_tcschr(buf, 'S')) { dcb.Parity = 4; } else { dcb.Parity = 0; } - } else if (strstr(buf, "DATA=")) { - dcb.ByteSize = atol(buf+5); - } else if (strstr(buf, "STOP=")) { - if (strchr(buf, '5')) { + } else if (_tcsstr(buf, _T("data="))) { + _tscanf(buf+5, "%lu", &dcb.ByteSize); + } else if (_tcsstr(buf, _T("stop="))) { + if (_tcschr(buf, '5')) { dcb.StopBits = 1; - } else if (strchr(buf, '2')) { + } else if (_tcschr(buf, '2')) { dcb.StopBits = 2; } else { dcb.StopBits = 0; } - } else if (strstr(buf, "TO=")) { // to=on|off + } else if (_tcsstr(buf, _T("to="))) { // to=on|off value = ExtractModeSerialParams(buf); if (value != -1) { } else { goto invalid_serial_parameter; } - } else if (strstr(buf, "XON=")) { // xon=on|off + } else if (_tcsstr(buf, _T("xon="))) { // xon=on|off value = ExtractModeSerialParams(buf); if (value != -1) { dcb.fOutX = value; @@ -337,35 +339,35 @@ } else { goto invalid_serial_parameter; } - } else if (strstr(buf, "ODSR=")) { // odsr=on|off + } else if (_tcsstr(buf, _T("odsr="))) { // odsr=on|off value = ExtractModeSerialParams(buf); if (value != -1) { dcb.fOutxDsrFlow = value; } else { goto invalid_serial_parameter; } - } else if (strstr(buf, "OCTS=")) { // octs=on|off + } else if (_tcsstr(buf, _T("octs="))) { // octs=on|off value = ExtractModeSerialParams(buf); if (value != -1) { dcb.fOutxCtsFlow = value; } else { goto invalid_serial_parameter; } - } else if (strstr(buf, "DTR=")) { // dtr=on|off|hs + } else if (_tcsstr(buf, _T("dtr="))) { // dtr=on|off|hs value = ExtractModeSerialParams(buf); if (value != -1) { dcb.fDtrControl = value; } else { goto invalid_serial_parameter; } - } else if (strstr(buf, "RTS=")) { // rts=on|off|hs|tg + } else if (_tcsstr(buf, _T("rts="))) { // rts=on|off|hs|tg value = ExtractModeSerialParams(buf); if (value != -1) { dcb.fRtsControl = value; } else { goto invalid_serial_parameter; } - } else if (strstr(buf, "IDSR=")) { // idsr=on|off + } else if (_tcsstr(buf, _T("idsr="))) { // idsr=on|off value = ExtractModeSerialParams(buf); if (value != -1) { dcb.fDsrSensitivity = value; @@ -374,85 +376,85 @@ } } else { invalid_serial_parameter:; - printf("Invalid parameter - %s\n", buf); + _tprintf(_T("Invalid parameter - %s\n"), buf); return 1; } } SerialPortQuery(nPortNum, &dcb, &CommTimeouts, TRUE); } - return 0; + return 0; } -int find_portnum(const char* cmdverb) +int find_portnum(const TCHAR* cmdverb) { - int portnum = -1; + int portnum = -1; - if ((char)*(cmdverb + 3) >= '0' && (char)*(cmdverb + 3) <= '9') { - portnum = ((char)*(cmdverb + 3)) - '0'; - if ((char)*(cmdverb + 4) >= '0' && (char)*(cmdverb + 4) <= '9') { - portnum *= 10; - portnum += ((char)*(cmdverb + 4)) - '0'; - } - } - return portnum; + if (cmdverb[3] >= '0' && cmdverb[3] <= '9') { + portnum = cmdverb[3] - '0'; + if (cmdverb[4] >= '0' && cmdverb[4] <= '9') { + portnum *= 10; + portnum += cmdverb[4] - '0'; + } + } + return portnum; } -int main(int argc, char *argv[]) +int main(int argc, TCHAR *argv[]) { - int nPortNum; - char param1[MAX_COMPARAM_LEN+1]; - char param2[MAX_COMPARAM_LEN+1]; + int nPortNum; + TCHAR param1[MAX_COMPARAM_LEN+1]; + TCHAR param2[MAX_COMPARAM_LEN+1]; if (argc > 1) { - if (strlen(argv[1]) > MAX_COMPARAM_LEN) { - printf("Invalid parameter (too long) - %s\n", argv[1]); + if (_tcslen(argv[1]) > MAX_COMPARAM_LEN) { + _tprintf(_T("Invalid parameter (too long) - %s\n"), argv[1]); return 1; } - strcpy(param1, argv[1]); - strupr(param1); + _tcscpy(param1, argv[1]); + _tcslwr(param1); if (argc > 2) { - if (strlen(argv[2]) > MAX_COMPARAM_LEN) { - printf("Invalid parameter (too long) - %s\n", argv[2]); + if (_tcslen(argv[2]) > MAX_COMPARAM_LEN) { + _tprintf(_T("Invalid parameter (too long) - %s\n"), argv[2]); return 1; } - strcpy(param2, argv[2]); - strupr(param2); + _tcscpy(param2, argv[2]); + _tcslwr(param2); } else { param2[0] = '\0'; } - if (strstr(param1, "/?") || strstr(param1, "-?")) { + if (_tcsstr(param1, _T("/?")) || _tcsstr(param1, _T("-?"))) { return Usage(); - } else if (strstr(param1, "/STA")) { + } else if (_tcsstr(param1, _T("/status"))) { goto show_status; - } else if (strstr(param1, "LPT")) { - nPortNum = find_portnum(param1); - if (nPortNum != -1) - return ShowParrallelStatus(nPortNum); - } else if (strstr(param1, "CON")) { + } else if (_tcsstr(param1, _T("lpt"))) { + nPortNum = find_portnum(param1); + if (nPortNum != -1) + return ShowParallelStatus(nPortNum); + } else if (_tcsstr(param1, _T("con"))) { return ShowConsoleStatus(); - } else if (strstr(param1, "COM")) { - nPortNum = find_portnum(param1); + } else if (_tcsstr(param1, _T("com"))) { + nPortNum = find_portnum(param1); if (nPortNum != -1) { - if (param2[0] == '\0' || strstr(param2, "/STA")) { + if (param2[0] == '\0' || _tcsstr(param2, _T("/status"))) { return ShowSerialStatus(nPortNum); } else { return SetSerialState(nPortNum, argc, argv); } } - } - printf("Invalid parameter - %s\n", param1); - return 1; + } + _tprintf(_T("Invalid parameter - %s\n"), param1); + return 1; } else { show_status:; QueryDevices(); /* - ShowParrallelStatus(1); + ShowParallelStatus(1); for (nPortNum = 0; nPortNum < MAX_COMPORT_NUM; nPortNum++) { ShowSerialStatus(nPortNum + 1); } ShowConsoleStatus(); */ - } + } return 0; }
20 years, 1 month
1
0
0
0
[gvg] 14131: Thomas Larsen <sikker2004@yahoo.com>
by gvg@svn.reactos.com
Thomas Larsen <sikker2004(a)yahoo.com> - Danish Translation Added: trunk/reactos/lib/user32/Da.rc Modified: trunk/reactos/lib/user32/user32.rc _____ Added: trunk/reactos/lib/user32/Da.rc --- trunk/reactos/lib/user32/Da.rc 2005-03-16 09:42:40 UTC (rev 14130) +++ trunk/reactos/lib/user32/Da.rc 2005-03-16 09:45:26 UTC (rev 14131) @@ -0,0 +1,74 @@ +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT + +/////////////////////////////////////////////////////////////////////// ////// +// +// Dialogs +// + +SELWINDOW DIALOG DISCARDABLE 20, 20, 220, 140 +STYLE DS_SYSMODAL | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +FONT 8, "Bitstream Vera Sans" +CAPTION "Vµlg Vindue" +BEGIN + LISTBOX 100, 5, 5, 210, 110, LBS_NOTIFY | LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL + PUSHBUTTON "&OK", 1, 60, 120, 40, 15, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "&Fortryd", 2, 120, 120, 40, 15, WS_CHILD | WS_VISIBLE | WS_TABSTOP +END + +/////////////////////////////////////////////////////////////////////// ////// +// +// Menus +// + +EDITMENU MENU LOADONCALL MOVEABLE DISCARDABLE +{ + POPUP "DUMMY" + BEGIN + MENUITEM "&Fortryd", EM_UNDO + MENUITEM SEPARATOR + MENUITEM "Kl&ip", WM_CUT + MENUITEM "&Kopier", WM_COPY + MENUITEM "&Indsµt", WM_PASTE + MENUITEM "&Slet", WM_CLEAR + MENUITEM SEPARATOR + MENUITEM "Vµlg &Alle", EM_SETSEL + END +} + +SYSMENU MENU LOADONCALL MOVEABLE DISCARDABLE +{ + MENUITEM "&Gendan", 61728 + MENUITEM "&Flyt", 61456 + MENUITEM "&St°rrelse", 61440 + MENUITEM "M&inimere", 61472 + MENUITEM "Ma&ksimere", 61488 + MENUITEM SEPARATOR + MENUITEM "&Luk\tAlt-F4", 61536 +} + +/////////////////////////////////////////////////////////////////////// ////// +// +// Strings +// + +STRINGTABLE +{ + IDS_ERROR, "Fejl" + IDS_OK, "OK" + IDS_CANCEL, "Fortryd" + IDS_ABORT, "&Afbryd" + IDS_RETRY, "&Fors°g Igen" + IDS_IGNORE, "&Ignorer" + IDS_YES, "&Ja" + IDS_NO, "&Nej" + IDS_HELP, "Hjµlp" + IDS_TRYAGAIN, "&Fors°g Igen" + IDS_CONTINUE, "&Forsµt" +} + +STRINGTABLE +{ + IDS_MDI_MOREWINDOWS, "&More Windows..." +} + Property changes on: trunk/reactos/lib/user32/Da.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____ Modified: trunk/reactos/lib/user32/user32.rc --- trunk/reactos/lib/user32/user32.rc 2005-03-16 09:42:40 UTC (rev 14130) +++ trunk/reactos/lib/user32/user32.rc 2005-03-16 09:45:26 UTC (rev 14131) @@ -59,4 +59,5 @@ OBM_MNARROW BITMAP "resources/obm_mnarrow.bmp" #include "En.rc" +#include "Da.rc" #include "De.rc"
20 years, 1 month
1
0
0
0
[gvg] 14130: Thomas Larsen <sikker2004@yahoo.com>
by gvg@svn.reactos.com
Thomas Larsen <sikker2004(a)yahoo.com> - Danish translation Added: trunk/reactos/lib/setupapi/Da.rc Modified: trunk/reactos/lib/setupapi/setupapi.rc _____ Added: trunk/reactos/lib/setupapi/Da.rc --- trunk/reactos/lib/setupapi/Da.rc 2005-03-16 09:22:30 UTC (rev 14129) +++ trunk/reactos/lib/setupapi/Da.rc 2005-03-16 09:42:40 UTC (rev 14130) @@ -0,0 +1,15 @@ +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT + +COPYFILEDLGORD DIALOG LOADONCALL MOVEABLE DISCARDABLE 20, 20, 208, 105 +STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION +CAPTION "Overf°rere Filer..." +FONT 8, "MS Shell Dlg" +BEGIN + PUSHBUTTON "Fortryd", IDCANCEL, 79, 84, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + LTEXT "Kilde:", -1, 7, 7, 77, 11, WS_CHILD | WS_VISIBLE | WS_GROUP + LTEXT "", SOURCESTRORD, 7, 18, 194, 11, WS_CHILD | WS_VISIBLE | WS_GROUP + LTEXT "Destination:", -1, 7, 30, 77, 11, WS_CHILD | WS_VISIBLE | WS_GROUP + LTEXT "", DESTSTRORD, 7, 41, 194, 22, WS_CHILD | WS_VISIBLE | WS_GROUP + CONTROL "", PROGRESSORD, "setupx_progress", 7, 63, 194, 13, WS_CHILD | +WS_VISIBLE | WS_TABSTOP +END Property changes on: trunk/reactos/lib/setupapi/Da.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____ Modified: trunk/reactos/lib/setupapi/setupapi.rc --- trunk/reactos/lib/setupapi/setupapi.rc 2005-03-16 09:22:30 UTC (rev 14129) +++ trunk/reactos/lib/setupapi/setupapi.rc 2005-03-16 09:42:40 UTC (rev 14130) @@ -25,6 +25,7 @@ #include "setupapi_private.h" #include "Cs.rc" +#include "Da.rc" #include "De.rc" #include "En.rc" #include "Es.rc"
20 years, 1 month
1
0
0
0
[gvg] 14129: Thomas Larsen <sikker2004@yahoo.com>
by gvg@svn.reactos.com
Thomas Larsen <sikker2004(a)yahoo.com> - updated danish language Modified: trunk/reactos/subsys/system/notepad/Da.rc _____ Modified: trunk/reactos/subsys/system/notepad/Da.rc --- trunk/reactos/subsys/system/notepad/Da.rc 2005-03-16 09:19:12 UTC (rev 14128) +++ trunk/reactos/subsys/system/notepad/Da.rc 2005-03-16 09:22:30 UTC (rev 14129) @@ -23,7 +23,7 @@ MAIN_MENU MENU { - POPUP "&Filef" { + POPUP "&Fil" { MENUITEM "&Ny...", CMD_NEW MENUITEM "?&bn\tEnter", CMD_OPEN MENUITEM "&Gem", CMD_SAVE @@ -58,7 +58,7 @@ MENUITEM SEPARATOR POPUP "&Om Notesblok..." { MENUITEM "&Licens", CMD_LICENSE - MENUITEM "&NO WARRANTY", CMD_NO_WARRANTY + MENUITEM "&Ingen Garanti", CMD_NO_WARRANTY MENUITEM "&Om WINE", CMD_ABOUT_WINE } } @@ -94,15 +94,15 @@ STRINGTABLE DISCARDABLE { STRING_PAGESETUP_HEADERVALUE, "&n" /* FIXME */ -STRING_PAGESETUP_FOOTERVALUE, "Page &s" /* FIXME */ +STRING_PAGESETUP_FOOTERVALUE, "Side &s" STRING_PAGESETUP_LEFTVALUE, "20 mm" /* FIXME */ STRING_PAGESETUP_RIGHTVALUE, "20 mm" /* FIXME */ STRING_PAGESETUP_TOPVALUE, "25 mm" /* FIXME */ STRING_PAGESETUP_BOTTOMVALUE, "25 mm" /* FIXME */ STRING_NOTEPAD, "Notesblok" -STRING_ERROR, "FEJL" -STRING_WARNING, "ADVARSEL" +STRING_ERROR, "Fejl" +STRING_WARNING, "Advarsel" STRING_INFO, "Information" STRING_UNTITLED, "(ikke-navngivet)" @@ -114,10 +114,10 @@ \nBrug en anden editor til at redigere filen." STRING_NOTEXT, "Du har ikke skrevet noget tekst. \ \nSkriv noget tekst, og pr°v sÕ igen" -STRING_DOESNOTEXIST, "File '%s'\ndoes not exist\n\n \ -Do you want to create a new file ?" -STRING_NOTSAVED, "File '%s'\nhas been modified\n\n \ -Would you like to save the changes ?" +STRING_DOESNOTEXIST, "Filen '%s'\neksistere ikke\n\n \ +Ïnkser du at oprette en ny fil?" +STRING_NOTSAVED, "Filen '%s'\ner blevet µndret\n\n \ +Ïnsker du at gemme µndringerne?" STRING_NOTFOUND, "Kan ikke finde '%s'." STRING_OUT_OF_MEMORY, "Der er ikke nok hukommelse til at udf°re \ denne operation. \nAfslut et eller flere aktive programmer for at frig°re \
20 years, 1 month
1
0
0
0
[gvg] 14128: Thomas Larsen <sikker2004@yahoo.com>
by gvg@svn.reactos.com
Thomas Larsen <sikker2004(a)yahoo.com> - added danish language Added: trunk/reactos/subsys/system/taskmgr/Dk.rc Modified: trunk/reactos/subsys/system/taskmgr/taskmgr.rc _____ Added: trunk/reactos/subsys/system/taskmgr/Dk.rc --- trunk/reactos/subsys/system/taskmgr/Dk.rc 2005-03-16 09:16:13 UTC (rev 14127) +++ trunk/reactos/subsys/system/taskmgr/Dk.rc 2005-03-16 09:19:12 UTC (rev 14128) @@ -0,0 +1,621 @@ +/////////////////////////////////////////////////////////////////////// ////// +// Danish resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT +#endif //_WIN32 + +/////////////////////////////////////////////////////////////////////// ////// +// +// Menu +// + +IDR_TASKMANAGER MENU DISCARDABLE +BEGIN + POPUP "&Fil" + BEGIN + MENUITEM "&Ny Opgave (K°r...)", ID_FILE_NEW + MENUITEM SEPARATOR + MENUITEM "A&slut Opgavestyring", ID_FILE_EXIT + END + POPUP "&Indstillinger" + BEGIN + MENUITEM "&Altid Ïverst", ID_OPTIONS_ALWAYSONTOP + , CHECKED + MENUITEM "&Minimere Ved Brug", ID_OPTIONS_MINIMIZEONUSE + , CHECKED + MENUITEM "&Skjul NÕr Minimeret", ID_OPTIONS_HIDEWHENMINIMIZED + , CHECKED + MENUITEM "&Vis 16-bit Opgaver", ID_OPTIONS_SHOW16BITTASKS + , CHECKED + END + POPUP "&Vis" + BEGIN + MENUITEM "&Opdatere Nu", ID_VIEW_REFRESH + POPUP "&Opdaterings Hastighed" + BEGIN + MENUITEM "&H°j", ID_VIEW_UPDATESPEED_HIGH + MENUITEM "&Normal", ID_VIEW_UPDATESPEED_NORMAL + , CHECKED + MENUITEM "&Lav", ID_VIEW_UPDATESPEED_LOW + MENUITEM "&Pauset", ID_VIEW_UPDATESPEED_PAUSED + + END + MENUITEM SEPARATOR + MENUITEM "St&ore Ikoner", ID_VIEW_LARGE + MENUITEM "S&mÕ Ikoner", ID_VIEW_SMALL + MENUITEM "&Detaljer", ID_VIEW_DETAILS, CHECKED + MENUITEM "&Vµlg Kolonner...", ID_VIEW_SELECTCOLUMNS + POPUP "&CPU Historie" + BEGIN + MENUITEM "&En Graf, Alle CPUer", ID_VIEW_CPUHISTORY_ONEGRAPHALL + + MENUITEM "En Graf &Pr CPU", ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU + , CHECKED + END + MENUITEM "&Vis Kernel Tider", ID_VIEW_SHOWKERNELTIMES + END + POPUP "&Vinduer" + BEGIN + MENUITEM "Tile &Horisontalt", ID_WINDOWS_TILEHORIZONTALLY + MENUITEM "Tile &Verticalt", ID_WINDOWS_TILEVERTICALLY + MENUITEM "&Minimere", ID_WINDOWS_MINIMIZE + MENUITEM "Ma&ksimeree", ID_WINDOWS_MAXIMIZE + MENUITEM "&Cascade", ID_WINDOWS_CASCADE + MENUITEM "&Bring til front", ID_WINDOWS_BRINGTOFRONT + END + POPUP "&Hjµlp" + BEGIN + MENUITEM "Opgavestyring &Hjµlpe Emner", ID_HELP_TOPICS + MENUITEM SEPARATOR + MENUITEM "&Omkring Opgavestyring", ID_HELP_ABOUT + END +END + +IDR_WINDOWSMENU MENU DISCARDABLE +BEGIN + MENUITEM "Tile &Horisontalt", ID_WINDOWS_TILEHORIZONTALLY + MENUITEM "Tile &Verticalt", ID_WINDOWS_TILEVERTICALLY + MENUITEM "&Minimere", ID_WINDOWS_MINIMIZE + MENUITEM "Ma&ksimere", ID_WINDOWS_MAXIMIZE + MENUITEM "&Detaljer", ID_WINDOWS_CASCADE + MENUITEM "&Bring til front", ID_WINDOWS_BRINGTOFRONT +END + +IDR_APPLICATION_PAGE_CONTEXT1 MENU DISCARDABLE +BEGIN + POPUP "DUMMY" + BEGIN + MENUITEM "&Ny Opgave (K°r...)", ID_FILE_NEW + MENUITEM SEPARATOR + MENUITEM "St&ore ikoner", ID_VIEW_LARGE + MENUITEM "S&mÕ Ikoner", ID_VIEW_SMALL + MENUITEM "&Detaljer", ID_VIEW_DETAILS, CHECKED + END +END + +IDR_APPLICATION_PAGE_CONTEXT2 MENU DISCARDABLE +BEGIN + POPUP "DUMMY" + BEGIN + MENUITEM "&Skift Til", ID_APPLICATION_PAGE_SWITCHTO + MENUITEM "&Bring til front", ID_WINDOWS_BRINGTOFRONT + MENUITEM SEPARATOR + MENUITEM "Tile &Horisontalt", ID_WINDOWS_TILEHORIZONTALLY + MENUITEM "Tile &Verticalt", ID_WINDOWS_TILEVERTICALLY + MENUITEM "&Minimere", ID_WINDOWS_MINIMIZE + MENUITEM "Ma&ksimere", ID_WINDOWS_MAXIMIZE + MENUITEM "&Cascade", ID_WINDOWS_CASCADE + MENUITEM SEPARATOR + MENUITEM "&Afslut Opgave", ID_APPLICATION_PAGE_ENDTASK + MENUITEM "&GÕ Til Process", ID_APPLICATION_PAGE_GOTOPROCESS + + END +END + +IDR_TRAY_POPUP MENU DISCARDABLE +BEGIN + POPUP "DUMMY" + BEGIN + MENUITEM "&Gendan", ID_RESTORE + MENUITEM "&Luk", ID_FILE_EXIT + MENUITEM SEPARATOR + MENUITEM "&Altid Ïverest", ID_OPTIONS_ALWAYSONTOP + END +END + +IDR_PROCESS_PAGE_CONTEXT MENU DISCARDABLE +BEGIN + POPUP "DUMMY" + BEGIN + MENUITEM "&Afslut Process", ID_PROCESS_PAGE_ENDPROCESS + MENUITEM "Afslut Process &Trµ", ID_PROCESS_PAGE_ENDPROCESSTREE + + MENUITEM "&Debug", ID_PROCESS_PAGE_DEBUG + MENUITEM SEPARATOR + POPUP "Sµt &prioritet" + BEGIN + MENUITEM "&H°jeste", ID_PROCESS_PAGE_SETPRIORITY_REALTIME + + MENUITEM "&H°j", ID_PROCESS_PAGE_SETPRIORITY_HIGH + + MENUITEM "&Over Normal", ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL + + MENUITEM "&Normal", ID_PROCESS_PAGE_SETPRIORITY_NORMAL + + MENUITEM "&Under Normal", ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL + + MENUITEM "&Lav", ID_PROCESS_PAGE_SETPRIORITY_LOW + + END + MENUITEM "Sµt &Affinitet...", ID_PROCESS_PAGE_SETAFFINITY + MENUITEM "Redigere Debug &Kanaler...", ID_PROCESS_PAGE_DEBUGCHANNELS + END +END + + +/////////////////////////////////////////////////////////////////////// ////// +// +// Dialog +// + +IDD_ABOUTBOX DIALOG DISCARDABLE 22, 17, 259, 210 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Omkring Opgavestyring" +FONT 8, "Tahoma" +BEGIN + CONTROL "Opgavestyring v1.0\nKopibeskyttet (C) 1999 - 2001\naf Brian Palmer (brianp(a)reactos.org)", + IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,53,28, + 122,26 + DEFPUSHBUTTON "OK",IDOK,183,189,44,14,WS_GROUP + ICON IDI_TASKMANAGER,IDC_STATIC,19,30,20,20 + EDITTEXT IDC_LICENSE_EDIT,53,63,174,107,ES_MULTILINE | + ES_READONLY | WS_VSCROLL +END + +IDD_TASKMGR_DIALOG DIALOG DISCARDABLE 0, 0, 264, 246 +STYLE DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | + WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | + WS_THICKFRAME +CAPTION "Opgavestyring" +MENU IDR_TASKMANAGER +FONT 8, "Tahoma" +BEGIN + CONTROL "Tab1",IDC_TAB,"SysTabControl32",WS_TABSTOP,3,3,257,228 +END + +IDD_APPLICATION_PAGE DIALOG DISCARDABLE 0, 0, 247, 210 +STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "Tahoma" +BEGIN + CONTROL "List2",IDC_APPLIST,"SysListView32",LVS_REPORT | + LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,7,7,233,177 + PUSHBUTTON "&Ny Opgave...",IDC_NEWTASK,187,189,53,14 + PUSHBUTTON "&Skift Til",IDC_SWITCHTO,131,189,53,14,WS_DISABLED + PUSHBUTTON "&Afslut Opgave",IDC_ENDTASK,75,189,53,14,WS_DISABLED +END + +IDD_PROCESS_PAGE DIALOG DISCARDABLE 0, 0, 247, 210 +STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +CAPTION "KMK" +FONT 8, "Tahoma" +BEGIN + CONTROL "List2",IDC_PROCESSLIST,"SysListView32",LVS_REPORT | + LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_OWNERDATA | + WS_BORDER | WS_TABSTOP,7,7,233,177 + PUSHBUTTON "&Afslut Proces",IDC_ENDPROCESS,171,189,69,14 + CONTROL "&Vis Processor fra alle brugere",IDC_SHOWALLPROCESSES, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,191,111,10 +END + +//IDD_PERFORMANCE_PAGE DIALOGEX 0, 0, 247, 210 +IDD_PERFORMANCE_PAGE DIALOGEX DISCARDABLE 0, 0, 247, 210 +STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN +FONT 8, "Tahoma" +BEGIN + GROUPBOX "CPU Forbrug",IDC_CPU_USAGE_FRAME,5,5,60,54,WS_TABSTOP, WS_EX_TRANSPARENT + GROUPBOX "Hukommelse Forbrug",IDC_MEM_USAGE_FRAME,5,63,60,54,BS_LEFTTEXT, WS_EX_TRANSPARENT + GROUPBOX "Ialt",IDC_TOTALS_FRAME,5,122,111,39,0,WS_EX_TRANSPARENT + GROUPBOX "Aftaget Forbrug (K)",IDC_COMMIT_CHARGE_FRAME,5,166,111,39,0,WS_EX_TRANSPARENT + GROUPBOX "Fysisk Hukommelse (K)",IDC_PHYSICAL_MEMORY_FRAME,131,122,111,39,0,WS_EX_TRANSPARENT + GROUPBOX "Kernel Hukommelse (K)",IDC_KERNEL_MEMORY_FRAME,131,166,111,39,0,WS_EX_TRANSPARENT + LTEXT "HÕndtag",IDS_TOTALS_HANDLE_COUNT,12,131,27,8 + LTEXT "TrÕde",IDS_TOTALS_THREAD_COUNT,12,140,27,8 + LTEXT "Processor",IDS_TOTALS_PROCESS_COUNT,12,149,34,8 + EDITTEXT IDC_TOTALS_HANDLE_COUNT,65,131,45,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + EDITTEXT IDC_TOTALS_THREAD_COUNT,65,140,45,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + EDITTEXT IDC_TOTALS_PROCESS_COUNT,65,149,45,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + LTEXT "Ialt",IDS_COMMIT_CHARGE_TOTAL,12,175,27,8 + LTEXT "Begrµnsning",IDS_COMMIT_CHARGE_LIMIT,12,184,15,8 + LTEXT "Top",IDS_COMMIT_CHARGE_PEAK,12,193,34,8 + EDITTEXT IDC_COMMIT_CHARGE_TOTAL,65,174,45,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + EDITTEXT IDC_COMMIT_CHARGE_LIMIT,65,184,45,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + EDITTEXT IDC_COMMIT_CHARGE_PEAK,65,193,45,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + LTEXT "Ialt",IDS_PHYSICAL_MEMORY_TOTAL,137,131,27,8 + LTEXT "Tilgµngelig",IDS_PHYSICAL_MEMORY_AVAILABLE,137,140,30,8 + LTEXT "System Cache",IDS_PHYSICAL_MEMORY_SYSTEM_CACHE,137,149,46,8 + EDITTEXT IDC_PHYSICAL_MEMORY_TOTAL,185,131,48,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + EDITTEXT IDC_PHYSICAL_MEMORY_AVAILABLE,185,140,48,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + EDITTEXT IDC_PHYSICAL_MEMORY_SYSTEM_CACHE,185,149,48,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + LTEXT "Ialt",IDS_KERNEL_MEMORY_TOTAL,137,174,27,8 + LTEXT "Allokeret",IDS_KERNEL_MEMORY_PAGED,137,184,21,8 + LTEXT "Ikke Allokeret",IDS_KERNEL_MEMORY_NONPAGED,137,193,34,8 + EDITTEXT IDC_KERNEL_MEMORY_TOTAL,185,174,48,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + EDITTEXT IDC_KERNEL_MEMORY_PAGED,185,184,48,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + EDITTEXT IDC_KERNEL_MEMORY_NONPAGED,185,193,48,8,ES_RIGHT | + ES_READONLY | ES_NUMBER | NOT WS_BORDER + GROUPBOX "CPU Usage History",IDC_CPU_USAGE_HISTORY_FRAME,74,5,168,54,0,WS_EX_TRANSPARENT + GROUPBOX "Hukommelses Forbrug Historik",IDC_MEMORY_USAGE_HISTORY_FRAME,74,63,168,54,0,WS_EX_TRANSPAREN T + PUSHBUTTON "CPU Forbrug Visning",IDC_CPU_USAGE_GRAPH,12,17,47,37,0, + WS_EX_CLIENTEDGE + PUSHBUTTON "Hukommelses Forbrug Visning",IDC_MEM_USAGE_GRAPH,12,75,47,37,0, + WS_EX_CLIENTEDGE + PUSHBUTTON "CPU Forbrug Historik",IDC_CPU_USAGE_HISTORY_GRAPH,81,17, + 153,37,0,WS_EX_CLIENTEDGE + PUSHBUTTON "Hukommelses Forbrug Historik",IDC_MEM_USAGE_HISTORY_GRAPH,81,75, + 153,37,0,WS_EX_CLIENTEDGE +END + +IDD_DEBUG_CHANNELS_DIALOG DIALOG DISCARDABLE 0, 0, 247, 210 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Debug Kanaler" +FONT 8, "Tahoma" +BEGIN + CONTROL "List2",IDC_DEBUG_CHANNELS_LIST,"SysListView32",LVS_REPORT | + LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP | + LVS_SORTASCENDING,7,7,233,177 + PUSHBUTTON "Luk",IDOK,171,189,69,14 +END + +IDD_AFFINITY_DIALOG DIALOG DISCARDABLE 0, 0, 231, 154 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Processor Affinitet" +FONT 8, "Tahoma" +BEGIN + DEFPUSHBUTTON "OK",IDOK,120,133,50,14 + PUSHBUTTON "Fortryd",IDCANCEL,174,133,50,14 + LTEXT "Processor Affinitets indstillingen kontrollere hvilken CPUer processen har lov at eksekvere pÕ.", + IDC_STATIC,5,5,220,16 + CONTROL "CPU 0",IDC_CPU0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP, + 11,28,37,10 + CONTROL "CPU 1",IDC_CPU1,"Button",BS_AUTOCHECKBOX | WS_DISABLED | + WS_TABSTOP,11,41,37,10 + CONTROL "CPU 2",IDC_CPU2,"Button",BS_AUTOCHECKBOX | WS_DISABLED | + WS_TABSTOP,11,54,37,10 + CONTROL "CPU 3",IDC_CPU3,"Button",BS_AUTOCHECKBOX | WS_DISABLED | + WS_TABSTOP,11,67,37,10 + CONTROL "CPU 4",IDC_CPU4,"Button",BS_AUTOCHECKBOX | WS_DISABLED | + WS_TABSTOP,11,80,37,10 + CONTROL "CPU 5",IDC_CPU5,"Button",BS_AUTOCHECKBOX | WS_DISABLED | + WS_TABSTOP,11,93,37,10 + CONTROL "CPU 6",IDC_CPU6,"Button",BS_AUTOCHECKBOX | WS_DISABLED | + WS_TABSTOP,11,106,37,10 + CONTROL "CPU 7",IDC_CPU7,"Button",BS_AUTOCHECKBOX | WS_DISABLED | + WS_TABSTOP,11,119,37,10 + CONTROL "CPU 8",IDC_CPU8,"Button",BS_AUTOCHECKBOX | WS_DISABLED | + WS_TABSTOP,61,28,37,10 + CONTROL "CPU 9",IDC_CPU9,"Button",BS_AUTOCHECKBOX | WS_DISABLED | + WS_TABSTOP,61,41,37,10 + CONTROL "CPU 10",IDC_CPU10,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,61,54,41,10 + CONTROL "CPU 11",IDC_CPU11,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,61,67,41,10 + CONTROL "CPU 12",IDC_CPU12,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,61,80,41,10 + CONTROL "CPU 13",IDC_CPU13,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,61,93,41,10 + CONTROL "CPU 14",IDC_CPU14,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,61,106,41,10 + CONTROL "CPU 15",IDC_CPU15,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,61,119,41,10 + CONTROL "CPU 16",IDC_CPU16,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,116,28,41,10 + CONTROL "CPU 17",IDC_CPU17,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,116,41,41,10 + CONTROL "CPU 18",IDC_CPU18,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,116,54,41,10 + CONTROL "CPU 19",IDC_CPU19,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,116,67,41,10 + CONTROL "CPU 20",IDC_CPU20,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,116,80,41,10 + CONTROL "CPU 21",IDC_CPU21,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,116,93,41,10 + CONTROL "CPU 22",IDC_CPU22,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,116,106,41,10 + CONTROL "CPU 23",IDC_CPU23,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,116,119,41,10 + CONTROL "CPU 24",IDC_CPU24,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,175,28,41,10 + CONTROL "CPU 25",IDC_CPU25,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,175,41,41,10 + CONTROL "CPU 26",IDC_CPU26,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,175,54,41,10 + CONTROL "CPU 27",IDC_CPU27,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,175,67,41,10 + CONTROL "CPU 28",IDC_CPU28,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,175,80,41,10 + CONTROL "CPU 29",IDC_CPU29,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,175,93,41,10 + CONTROL "CPU 30",IDC_CPU30,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,175,106,41,10 + CONTROL "CPU 31",IDC_CPU31,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,175,119,41,10 +END + +IDD_COLUMNS_DIALOG DIALOG DISCARDABLE 0, 0, 195, 199 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Vµlg Kolonner" +FONT 8, "Tahoma" +BEGIN + DEFPUSHBUTTON "OK",IDOK,84,178,50,14 + PUSHBUTTON "Fortryd",IDCANCEL,138,178,50,14 + LTEXT "Vµlg de Kolonner som skal vises under Processor.", + IDC_STATIC,7,7,181,17 + CONTROL "&Billede Navn",IDC_IMAGENAME,"Button",BS_AUTOCHECKBOX | + WS_DISABLED | WS_TABSTOP,7,28,56,10 + CONTROL "&PID (Process Identifikation)",IDC_PID,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7, 39, 100, 10 + CONTROL "&CPU Forbrug",IDC_CPUUSAGE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,7,50,53,10 + CONTROL "CPU &Tid",IDC_CPUTIME,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,7,61,48,10 + CONTROL "&Huk. Forbrug",IDC_MEMORYUSAGE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,7,72,63,10 + CONTROL "Huk. Forbrug &Delta",IDC_MEMORYUSAGEDELTA,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,83,82,10 + CONTROL "To&p Huk. Forbrug",IDC_PEAKMEMORYUSAGE,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,94,82,10 + CONTROL "Side &Fejl",IDC_PAGEFAULTS,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,7,105,53,10 + CONTROL "&USER Objektor",IDC_USEROBJECTS,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,7,116,62,10 + CONTROL "I/O Lµsning",IDC_IOREADS,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,7,127,49,10 + CONTROL "I/O Lµste Bytes",IDC_IOREADBYTES,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,7,138,65,10 + CONTROL "&Session ID",IDC_SESSIONID,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,7,149,50,10 + CONTROL "Bruger &Navn",IDC_USERNAME,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,7,160,51,10 + CONTROL "Side F&ejl Delta",IDC_PAGEFAULTSDELTA,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,107,28,72,10 + CONTROL "&Virtuel Huk. St°rrelse",IDC_VIRTUALMEMORYSIZE,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,107,39,77,10 + CONTROL "Cach&ed Pool",IDC_PAGEDPOOL,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,107,50,53,10 + CONTROL "Ikke C&ached Pool",IDC_NONPAGEDPOOL,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,107,61,67,10 + CONTROL "Base P&rioritet",IDC_BASEPRIORITY,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,107,72,55,10 + CONTROL "Antal Af &HÕndtag",IDC_HANDLECOUNT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,107,83,59,10 + CONTROL "&Antal Af TrÕde",IDC_THREADCOUNT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,107,94,59,10 + CONTROL "GDI Objektor",IDC_GDIOBJECTS,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,107,105,55,10 + CONTROL "I/O Skrivning",IDC_IOWRITES,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,107,116,49,10 + CONTROL "I/O Skrevet Bytes",IDC_IOWRITEBYTES,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,107,127,65,10 + CONTROL "I/O Andet",IDC_IOOTHER,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,107,138,46,10 + CONTROL "I/O Andre Bytes",IDC_IOOTHERBYTES,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,107,149,65,10 +END + + +#ifdef APSTUDIO_INVOKED +/////////////////////////////////////////////////////////////////////// ////// +// +// TEXTINCLUDE +// + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" + "#include ""windows.h""\r\n" + "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" + "#include ""resource.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +#endif // APSTUDIO_INVOKED + + +/////////////////////////////////////////////////////////////////////// ////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_ABOUTBOX, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 252 + TOPMARGIN, 7 + BOTTOMMARGIN, 203 + END + + IDD_TASKMGR_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 3 + RIGHTMARGIN, 260 + TOPMARGIN, 3 + BOTTOMMARGIN, 231 + END + + IDD_APPLICATION_PAGE, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 240 + TOPMARGIN, 7 + BOTTOMMARGIN, 203 + END + + IDD_PROCESS_PAGE, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 240 + TOPMARGIN, 7 + BOTTOMMARGIN, 203 + END + + IDD_PERFORMANCE_PAGE, DIALOG + BEGIN + LEFTMARGIN, 5 + RIGHTMARGIN, 242 + VERTGUIDE, 12 + VERTGUIDE, 65 + VERTGUIDE, 110 + TOPMARGIN, 5 + BOTTOMMARGIN, 205 + END + + IDD_AFFINITY_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 224 + VERTGUIDE, 11 + VERTGUIDE, 61 + VERTGUIDE, 116 + VERTGUIDE, 175 + TOPMARGIN, 7 + BOTTOMMARGIN, 147 + HORZGUIDE, 28 + HORZGUIDE, 38 + HORZGUIDE, 51 + HORZGUIDE, 64 + HORZGUIDE, 77 + HORZGUIDE, 90 + HORZGUIDE, 103 + HORZGUIDE, 116 + HORZGUIDE, 129 + END + + IDD_COLUMNS_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 188 + VERTGUIDE, 107 + TOPMARGIN, 7 + BOTTOMMARGIN, 192 + HORZGUIDE, 28 + END +END +#endif // APSTUDIO_INVOKED + +/////////////////////////////////////////////////////////////////////// ////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + IDS_APP_TITLE "Opgavestyring" + IDC_TASKMGR "Opgavestyring" +END + +STRINGTABLE DISCARDABLE +BEGIN + ID_FILE_NEW "K°rer et nyt Program" + ID_OPTIONS_ALWAYSONTOP "Opgavestyring bliver i front af alle de andre vinduer med mindre Opgavestyring er minimeret" + ID_OPTIONS_MINIMIZEONUSE + "Opgavestyring er minimeret nÕr en GÕ til operation er fortaget" + ID_OPTIONS_HIDEWHENMINIMIZED "Skjul Opgavestyring ved minimering" + ID_VIEW_REFRESH "Gennemtving Opgavestyring til at opdatere nu" + ID_VIEW_LARGE "Vis Opgaver med store ikoner" + ID_VIEW_SMALL "Vis Opgaver med smÕ ikoner" + ID_VIEW_DETAILS "Vis information om alle opgaver" + ID_VIEW_UPDATESPEED_HIGH "Opdatere visning 2 gange per sekund" + ID_VIEW_UPDATESPEED_NORMAL "Opdatere visning hvert 2 sekund" + ID_VIEW_UPDATESPEED_LOW "Opdatere visning hvert 4 sekund" +END + +STRINGTABLE DISCARDABLE +BEGIN + ID_VIEW_UPDATESPEED_PAUSED "Opdatere ikke visning automatisk" + ID_WINDOWS_TILEHORIZONTALLY + "Tiles the windows horizontally on the desktop" + ID_WINDOWS_TILEVERTICALLY "Tiles the windows vertically on the desktop" + ID_WINDOWS_MINIMIZE "Minimizes the windows" + ID_WINDOWS_MAXIMIZE "Maximizes the windows" + ID_WINDOWS_CASCADE "Cascades the windows diagonally on the desktop" + ID_WINDOWS_BRINGTOFRONT "Brings the window front, but does not switch to it" + ID_HELP_TOPICS "Viser Opgavestyring Hjµlpe Emner" + ID_HELP_ABOUT "Viser program information, version nummer, of kopibeskyttelse" + ID_FILE_EXIT "Exits the Task Manager application" + ID_OPTIONS_SHOW16BITTASKS + "Viser 16-bit opgaver som k°rer under ntvdm.exe" + ID_VIEW_SELECTCOLUMNS "Vµlg hvilke kolonner der vil vµre tilgµngelig under Processor Siden" + ID_VIEW_SHOWKERNELTIMES "Viser kernel tider i performance graffen" + ID_VIEW_CPUHISTORY_ONEGRAPHALL + "En enkelt Historie graf der viser det totale CPU forbrug" + ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Hver cpu har dens egen historie graf" + ID_APPLICATION_PAGE_SWITCHTO + "Bringer opgaven til fronten, og skifter fokus til denne opgave" +END + +STRINGTABLE DISCARDABLE +BEGIN + ID_ENDTASK "Fortµller den valgt opgave at den skal lukkes" + ID_GOTOPROCESS "Switches the focus to the process of the selected task" + ID_RESTORE "Gendanner Opgavestyring fra sin skjule position" + ID_PROCESS_PAGE_ENDPROCESS "Removes the process from the system" + ID_PROCESS_PAGE_ENDPROCESSTREE + "Removes this process and all descendants from the system" + ID_PROCESS_PAGE_DEBUG "Attaches the debugger to this process" + ID_PROCESS_PAGE_SETAFFINITY + "Kontrollere hvilken processorer processen er tilladt at k°re pÕ!" + ID_PROCESS_PAGE_SETPRIORITY_REALTIME + "Sets process to the REALTIME priority class" + ID_PROCESS_PAGE_SETPRIORITY_HIGH "Sets process to the HIGH priority class" + ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL + "Sµt proces til Over Normal Priotet Klasse" + ID_PROCESS_PAGE_SETPRIORITY_NORMAL + "Sµt proces til Normal Priotet Klasse" + ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL + "Sµt proces til Under Normal Priotet Klasse" + ID_PROCESS_PAGE_SETPRIORITY_LOW "Sµt proces til Lav Priotet Klasse" + IDS_LICENSE "Dette program er fri software; du kan formidle det og/eller µndre det under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." +END + +#endif // English (U.S.) resources +/////////////////////////////////////////////////////////////////////// ////// + + + +#ifndef APSTUDIO_INVOKED +/////////////////////////////////////////////////////////////////////// ////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +/////////////////////////////////////////////////////////////////////// ////// +#endif // not APSTUDIO_INVOKED + Property changes on: trunk/reactos/subsys/system/taskmgr/Dk.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____ Modified: trunk/reactos/subsys/system/taskmgr/taskmgr.rc --- trunk/reactos/subsys/system/taskmgr/taskmgr.rc 2005-03-16 09:16:13 UTC (rev 14127) +++ trunk/reactos/subsys/system/taskmgr/taskmgr.rc 2005-03-16 09:19:12 UTC (rev 14128) @@ -248,6 +248,7 @@ } */ #include "En.rc" +#include "De.rc" +#include "Dk.rc" #include "Es.rc" -#include "De.rc"
20 years, 1 month
1
0
0
0
[gvg] 14127: Thomas Larsen <sikker2004@yahoo.com>
by gvg@svn.reactos.com
Thomas Larsen <sikker2004(a)yahoo.com> - added danish language Added: trunk/reactos/subsys/system/vmwinst/Dk.rc Modified: trunk/reactos/subsys/system/vmwinst/vmwinst.rc _____ Added: trunk/reactos/subsys/system/vmwinst/Dk.rc --- trunk/reactos/subsys/system/vmwinst/Dk.rc 2005-03-16 09:13:28 UTC (rev 14126) +++ trunk/reactos/subsys/system/vmwinst/Dk.rc 2005-03-16 09:16:13 UTC (rev 14127) @@ -0,0 +1,130 @@ +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT + +IDD_WELCOMEPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Driver til Grafikkort Installation" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "ReactOS Installation har opdaget at du k°re ReactOS under VMware(r).", -1, 100, 8, 160, 24 + LTEXT "Hvis du °nsker at installere VMware(r) SVGA driveren Klik 'Nµste', Ellers klik pÕ 'Fortryd' for at afbryde.", -1, 100, 140, 160, 17 +END + +IDD_INSERT_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "VMware Installation - Driver til Grafikkort" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "ReactOS Installationen indeholder ingen VMware(r) SVGA driver.\n\nDerfor gÕ til menuen 'VM' i VMware(r) Arbejdsstation og vµlg 'Install VMware tools...'\n\n\nKlik 'Nµste' for at forsµtte eller klik 'Fortryd' for at undlade at installere SVGA driveren.",-1,25,25,225,85 +END + +IDD_INSTALLING_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "VMware Installation - Driver til Grafikkort" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "{STATUS}",IDC_INSTALLINGSTATUS,25,68,225,8 + CONTROL "", IDC_INSTALLINGPROGRESS, "msctls_progress32", PBS_MARQUEE | WS_CHILD | WS_VISIBLE | WS_BORDER, 25, 80, 225, 8 +END + +IDD_CONFIG DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "VMware Installation - Driver til Grafikkort" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "WMware(r) SVGA driver er blevet installeret med succes. Vµlg din favorit Skµrm Opl°sning:",-1,25,5,225,20 + PUSHBUTTON "640x480", 540, 25, 30, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "800x600", 1400, 25, 45, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "1024x768", 1792, 25, 60, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "1152x864", 2016, 25, 75, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "1280x960", 2240, 110, 30, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "1280x1024", 2304, 110, 45, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "1400x1050", 2450, 110, 60, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "1600x1200", 2800, 110, 75, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "1792x1344", 3136, 195, 30, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "1856x1392", 3248, 195, 45, 65, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "1920x1440", 3360, 195, 60, 50, 15, BS_AUTORADIOBUTTON + LTEXT "Vµlg din favorit farve kvalitet:", -1, 25, 93, 225, 12 + COMBOBOX IDC_COLORQUALITY, 25, 105, 75, 80, CBS_DROPDOWNLIST | WS_TABSTOP +END + +IDD_INSTALLATION_FAILED DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "VMware Installation - Driver til Grafikkort" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "ReactOS Installationen var ikke i stand til at installere WMware(r) SVGA driver.\n\n\nKlik pÕ 'Fµrdig' for at forsµtte installations processen.",-1,25,25,225,85 +END + +IDD_CHOOSEACTION DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "VMware Installation - Driver til Grafikkort" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "WMware(r) SVGA driver er allerede installeret.\n\nVµlg venligst hvad du °nsker at g°re:",-1,25,5,225,30 + PUSHBUTTON "Konfigurer Skµrm indstillinger", IDC_CONFIGSETTINGS, 25, 40, 200, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "Benyt en anden Grafikkort Driver", IDC_USEOTHERDRIVER, 25, 55, 200, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "Afinstallere WMware(r) SVGA driver", IDC_UNINSTALL, 25, 70, 200, 15, BS_AUTORADIOBUTTON + LTEXT "Klik pÕ 'Nµste' for at forsµtte eller klik pÕ 'Fortryd' for at afslutte guiden.", -1, 25, 93, 225, 12 +END + +IDD_SELECTDRIVER DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "VMware Installation - Driver til Grafikkort" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Vµlg venligst den driver til grafikkortet du °nsker at bruge:",-1,25,25,225,15 + PUSHBUTTON "ReactOS VGA Driver", IDC_VGA, 25, 40, 225, 15, BS_AUTORADIOBUTTON + PUSHBUTTON "ReactOS VBE Driver (SVGA)", IDC_VBE, 25, 55, 225, 15, BS_AUTORADIOBUTTON + LTEXT "Klik pÕ 'Fµrdig' for at afslutte operationen eller klik pÕ 'fortryd' for at afslutte Installationen uden at gemme µndringerne.", -1, 25, 93, 225, 20 +END + +IDD_DOUNINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "VMware Installation - Driver til Grafikkort" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "ReactOS installation skal til at afinstallere din VMware(r) SVGA driver!!!\n\n\nKlik pÕ 'Fµrdig' for at afinstallere driveren eller klik pÕ 'Fortryd' for at afslutte uden at gemme.",-1,25,25,225,85 +END + +STRINGTABLE +BEGIN + IDS_WIZARD_NAME "VMware(r) detected" + IDS_FAILEDTOLOCATEDRIVERS "The ReactOS Setup couldn't find the required files.\nPlease make sure the VMware(r) tools CD-ROM is inserted." + IDS_FAILEDTOCOPYFILES "The ReactOS Setup failed to copy the required files.\nPlease make sure the VMware(r) tools CD-ROM is inserted.\n" + IDS_FAILEDTOACTIVATEDRIVER "Failed to activate the VMware(r) SVGA driver!" + IDS_FAILEDTOSELVGADRIVER "Failed to activate the ReactOS VGA driver!" + IDS_FAILEDTOSELVBEDRIVER "Failed to activate the ReactOS VBE driver!" + IDS_UNINSTNOTICE "The VMware(r) SVGA driver files have not yet been deleted.\nPlease delete them manually after a system reboot." +END + +STRINGTABLE +BEGIN + 10001 "Laveste (8BPP)" + 10002 "Mellem (16BPP)" + 10003 "H°jeste (32BPP)" +END + +STRINGTABLE +BEGIN + IDS_SEARCHINGFORCDROM "S°ger efter VMware(r) Vµrkt°js Cdrom..." + IDS_COPYINGFILES "Overf°rer filer..." + IDS_ENABLINGDRIVER "Aktivere VMware(r) SVGA Driver..." +END + +STRINGTABLE +BEGIN + IDD_INSERT_VMWARE_TOOLSTITLE "VMware(r) SVGA driver installations Guide" + IDD_INSERT_VMWARE_TOOLSSUBTITLE "Vµr venlig at indsµttee VMware Vµrkt°js Cdrom?en." + IDD_INSTALLING_VMWARE_TOOLSTITLE "VMware(r) SVGA driver installations Guide" + IDD_INSTALLING_VMWARE_TOOLSSUBTITLE "S°ger efter og overf°rer VMware(r) SVGA driver." + IDD_CONFIGTITLE "VMware(r) SVGA driver installations Guide" + IDD_CONFIGSUBTITLE "Vµlg din favorit Skµrmopl°sning." + IDD_INSTALLATION_FAILEDTITLE "VMware(r) SVGA driver installations Guide" + IDD_INSTALLATION_FAILEDSUBTITLE "WMware(r) SVGA driver blev ikke installeret." + IDD_CHOOSEACTIONTITLE "VMware(r) SVGA driver installations Guide" + IDD_CHOOSEACTIONSUBTITLE "Vµlg hvad du Ïnsker at g°re." + IDD_SELECTDRIVERTITLE "VMware (r) SVGA driver installations Guide" + IDD_SELECTDRIVERSUBTITLE "Vµlge en driver." + IDD_DOUNINSTALLTITLE "VMware (r) SVGA driver installations Guide" + IDD_DOUNINSTALLSUBTITLE "Afinstallere driveren." +END Property changes on: trunk/reactos/subsys/system/vmwinst/Dk.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____ Modified: trunk/reactos/subsys/system/vmwinst/vmwinst.rc --- trunk/reactos/subsys/system/vmwinst/vmwinst.rc 2005-03-16 09:13:28 UTC (rev 14126) +++ trunk/reactos/subsys/system/vmwinst/vmwinst.rc 2005-03-16 09:16:13 UTC (rev 14127) @@ -22,8 +22,8 @@ * files. Note that you can and may override resources which also have * a neutral version. This is to get localized bitmaps for example. */ - #include "En.rc" #include "De.rc" +#include "Dk.rc" #include "Es.rc"
20 years, 1 month
1
0
0
0
[gvg] 14126: Thomas Larsen <sikker2004@yahoo.com>
by gvg@svn.reactos.com
Thomas Larsen <sikker2004(a)yahoo.com> - added danish language Added: trunk/reactos/subsys/system/welcome/Dk.rc Modified: trunk/reactos/subsys/system/welcome/welcome.rc _____ Added: trunk/reactos/subsys/system/welcome/Dk.rc --- trunk/reactos/subsys/system/welcome/Dk.rc 2005-03-16 09:10:23 UTC (rev 14125) +++ trunk/reactos/subsys/system/welcome/Dk.rc 2005-03-16 09:13:28 UTC (rev 14126) @@ -0,0 +1,62 @@ +/* $Id$ */ + +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT + +/* String Tables */ + +/* Default settings */ +STRINGTABLE DISCARDABLE +BEGIN + IDS_APPTITLE "ReactOS - Velkommen" + IDS_DEFAULTTOPICTITLE "ReactOS" + IDS_DEFAULTTOPICDESC "Velkommen til ReactOs operativ System.\n\nKlik pÕ et emne til venstre." +// IDS_CHECKTEXT "Vis denne dialog igen ved opstart" +// IDS_CLOSETEXT "Afslut" +END + +/* Topic buttons */ +STRINGTABLE DISCARDABLE +BEGIN + IDS_TOPICBUTTON0 "Installer ReactOS" + IDS_TOPICBUTTON1 "Gennemse Cdrom" + IDS_TOPICBUTTON2 "Afslut" +// IDS_TOPICBUTTON3 "Empty Topic 3" +// IDS_TOPICBUTTON4 "Empty Topic 4" +// IDS_TOPICBUTTON5 "Empty Topic 5" +// IDS_TOPICBUTTON6 "Empty Topic 6" +// IDS_TOPICBUTTON7 "Empty Topic 7" +// IDS_TOPICBUTTON8 "Empty Topic 8" +// IDS_TOPICBUTTON9 "Empty Topic 9" +END + +/* Topic titles */ +STRINGTABLE DISCARDABLE +BEGIN + IDS_TOPICTITLE0 "Installer ReactOS" + IDS_TOPICTITLE1 "Gennemse Cdrom" + IDS_TOPICTITLE2 "Afslut" +// IDS_TOPICTITLE3 "Empty Topic Title 3" +// IDS_TOPICTITLE4 "Empty Topic Title 4" +// IDS_TOPICTITLE5 "Empty Topic Title 5" +// IDS_TOPICTITLE6 "Empty Topic Title 6" +// IDS_TOPICTITLE7 "Empty Topic Title 7" +// IDS_TOPICTITLE8 "Empty Topic Title 8" +// IDS_TOPICTITLE9 "Empty Topic Title 9" +END + +/* Topic descriptions */ +STRINGTABLE DISCARDABLE +BEGIN + IDS_TOPICDESC0 "Opret en ny ReactOS installation pÕ din computer eller opgradere en eksisterende installation." + IDS_TOPICDESC1 "Gennemse Reactos Installations Cdrom" + IDS_TOPICDESC2 "Klik pÕ Afslut for at lukke." +// IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here." +// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here." +// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here." +// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here." +// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here." +// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here." +// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here." +END + +/* EOF */ Property changes on: trunk/reactos/subsys/system/welcome/Dk.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____ Modified: trunk/reactos/subsys/system/welcome/welcome.rc --- trunk/reactos/subsys/system/welcome/welcome.rc 2005-03-16 09:10:23 UTC (rev 14125) +++ trunk/reactos/subsys/system/welcome/welcome.rc 2005-03-16 09:13:28 UTC (rev 14126) @@ -47,8 +47,9 @@ /* Language-specific resources */ +#include "En.rc" #include "De.rc" -#include "En.rc" +#include "Dk.rc" #include "Es.rc" /* EOF */
20 years, 1 month
1
0
0
0
← Newer
1
...
24
25
26
27
28
29
30
...
61
Older →
Jump to page:
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
Results per page:
10
25
50
100
200