Compare commits

..

3 Commits

Author SHA1 Message Date
Timo Kreuzer
7c8f33fe56 [BROWSEUI_APITEsT] Make 2 tests for IAutoComplete pass on Test WHS 2023-05-05 07:28:02 +03:00
Timo Kreuzer
c6106fe008 [SHELL32_APITEST] Fix tests for OpenAs_RunDLL to pass on Windows 2003 2023-05-05 07:25:19 +03:00
Timo Kreuzer
10db205710 [WIN32KNT_APITEST] Fix test for NtUserSystemParametersInfo 2023-05-05 07:25:18 +03:00
1409 changed files with 35157 additions and 90448 deletions

View File

@@ -8,12 +8,6 @@ jobs:
compiler: [gcc, clang]
arch: [i386, amd64]
config: [Debug, Release]
dllver: ['0x502', '0x600']
exclude:
- dllver: 0x600
compiler: clang
- dllver: 0x600
config: Release
fail-fast: false
runs-on: ubuntu-latest
steps:
@@ -21,12 +15,12 @@ jobs:
id: get_rosbe_spec
run: |
gcc -march=native -Q --help=target | grep "\-march= " | awk '{print $NF}'
echo march-sha=$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}') >> $GITHUB_OUTPUT
echo git-sha=$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}') >> $GITHUB_OUTPUT
echo ::set-output name=march-sha::$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}')
echo ::set-output name=git-sha::$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}')
wget https://gist.githubusercontent.com/zefklop/b2d6a0b470c70183e93d5285a03f5899/raw/build_rosbe_ci.sh
- name: Get RosBE
id: get_rosbe
uses: actions/cache@v3
uses: actions/cache@v2
with:
path: RosBE-CI
key: RosBE-CI-${{runner.os}}-${{steps.get_rosbe_spec.outputs.march-sha}}-${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}
@@ -46,11 +40,11 @@ jobs:
sudo ./llvm.sh $LLVM_VERSION
echo "D_CLANG_VERSION=-DCLANG_VERSION=$LLVM_VERSION" >> $GITHUB_ENV
- name: Source checkout
uses: actions/checkout@v3
uses: actions/checkout@v2
with:
path: src
- name: Set up cache for ccache
uses: actions/cache@v3
uses: actions/cache@v2
with:
path: ccache
key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
@@ -66,7 +60,7 @@ jobs:
if: ${{ matrix.compiler == 'gcc' }}
run: echo "CCACHE_COMPILERCHECK=string:${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}" >> $GITHUB_ENV
- name: Configure
run: echo 'cmake -S ${{github.workspace}}/src -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-${{matrix.compiler}}.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DDLL_EXPORT_VERSION=${{matrix.dllver}} -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{env.D_CLANG_VERSION}}' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
run: echo 'cmake -S ${{github.workspace}}/src -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-${{matrix.compiler}}.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{env.D_CLANG_VERSION}}' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Build
run: echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Generate ISOs
@@ -74,9 +68,9 @@ jobs:
- name: Print ccache statistics
run: ccache -s
- name: Upload ISOs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
with:
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
@@ -88,7 +82,6 @@ jobs:
toolset: ['14.2', '14.1', '14.0'] # VS 2019, 2017, and 2015 (see below)
arch: [i386, amd64]
config: [Debug, Release]
dllver: ['0x502', '0x600']
exclude: # VS 2019, 2017 only with windows-latest; VS 2015 only with windows-2019
- os: windows-2019
toolset: '14.2'
@@ -96,14 +89,6 @@ jobs:
toolset: '14.1'
- os: windows-latest
toolset: '14.0'
- dllver: 0x600
os: windows-2019
- dllver: 0x600
toolset: '14.1'
- dllver: 0x600
toolset: '14.0'
- dllver: 0x600
config: Release
fail-fast: false
runs-on: ${{matrix.os}}
steps:
@@ -129,27 +114,27 @@ jobs:
arch: amd64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v3
uses: actions/checkout@v2
with:
path: src
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DDLL_EXPORT_VERSION=${{matrix.dllver}}
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build
run: cmake --build build -- -k0
- name: Generate ISOs
run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
with:
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
build-msvc-arm:
@@ -183,7 +168,7 @@ jobs:
arch: amd64_arm64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v3
uses: actions/checkout@v2
with:
path: src
- name: Configure
@@ -197,21 +182,17 @@ jobs:
- name: Build rosapps
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target modules/rosapps/all
- name: Build subsystems
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target subsystems/all
- name: Build some applications (arm64)
if: ${{ matrix.arch == 'arm64' }}
run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0
- name: Upload compiled binaries
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/base
build/dll/cpl
build/modules/rosapps
build/subsystems
!**/CMakeFiles
!**/cmake_install.cmake
!**/*.asm
@@ -227,7 +208,7 @@ jobs:
!**/*.tlb
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
with:
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
@@ -268,7 +249,7 @@ jobs:
- name: Add LLVM to PATH
run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Source checkout
uses: actions/checkout@v3
uses: actions/checkout@v2
with:
path: src
- name: Configure
@@ -278,7 +259,7 @@ jobs:
- name: Generate ISOs
run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
with:
name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
@@ -286,34 +267,33 @@ jobs:
build/livecd.iso
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
with:
name: reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
# Disable MSBuild for the moment being until a proper fix is provided -- see CORE-18911
# build-msbuild-i386:
# name: MSBuild (i386)
# runs-on: windows-2019
# steps:
# - name: Install Flex and Bison
# run: |
# curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
# 7z x flexbison.7z -O${{github.workspace}}\bin
# echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# - name: Add CL to PATH
# uses: ilammy/msvc-dev-cmd@v1
# with:
# arch: amd64_x86
# - uses: actions/checkout@v3
# with:
# path: src
# - name: Configure
# run: |
# mkdir build
# cd build
# cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
# - name: Build
# run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd
build-msbuild-i386:
name: MSBuild (i386)
runs-on: windows-2019
steps:
- name: Install Flex and Bison
run: |
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
7z x flexbison.7z -O${{github.workspace}}\bin
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Add CL to PATH
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_x86
- uses: actions/checkout@v2
with:
path: src
- name: Configure
run: |
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
- name: Build
run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd

View File

@@ -26,7 +26,6 @@ jobs:
days-before-close: 14
days-before-issue-close: -1
exempt-all-assignees: true
exempt-draft-pr: true
stale-pr-message: 'This PR is stale because it received no updates in the last 4 months. Without removing the stale label, or commenting on this ticket it will be closed in 2 weeks.'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'

View File

@@ -232,8 +232,7 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
-D_WIN32_WINNT=0x502
-D_WIN32_WINDOWS=0x502
-D_SETUPAPI_VER=0x502
-DMINGW_HAS_SECURE_API=1
-DDLL_EXPORT_VERSION=${DLL_EXPORT_VERSION})
-DMINGW_HAS_SECURE_API=1)
# Arch Options
if(ARCH STREQUAL "i386")

View File

@@ -63,19 +63,13 @@ Our commit style is defined in a __[commit template]__. Use it as a reference or
### Rules and Recommendations
- *Use your __real name__ and __real email__.* We do not accept anonymous code contributions!
- Every commit that changes code or translations should have author's full legal name (in latin letters, diacritics allowed).
- It's recommended to have the same full name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) that matches one specified in commits.
- There is an exception for media changes, such as changes of art (wallpapers, themes, icons, sounds) and out-of-code documentation.
- In these specific cases it's allowed to use a nickname or alias as author's name, and it's recommended to have the same name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) matching one specified in commits.
- In any case the author must use a real e-mail address, this includes git commits (`user.email` setting) and GitHub [e-mail settings][GitHub Email Settings] - the checkbox "Keep my email addresses private" must be unchecked there.
- In order to *keep your privacy*, select appropriate "Primary email address" that will be applied to your commits in GitHub [e-mail settings][GitHub Email Settings].
- *Use your __real name__ and __real email__.* We do not accept anonymous contributions!
- *Ensure your contribution is properly described.* Include the relevant issue number if applicable.
- *Put only related changes.* It will make reviewing easier as the reviewer needs to recall less information about the existing source code that is changed.
- *Search for similar pull requests/patches before submitting.* It may be that a similar pull request or issue was opened previously. Comment and review on that one instead.
- *Keep your contribution small and focused on the topic.* It can be tempting to fix existing issues as you come across them while reading the source code. Resist the temptation and put in a note in the source code instead, or (even better) put the issue in the issue tracking system.
- *Respect our __[Coding Style]__ and __[Programming Guidelines]__.*
- *Do not be afraid to ask questions.* Ask our developers in the [chat].
- *Do not be afraid to ask questions.* Ask our developers on JIRA or [IRC] channel.
To amend your commit with your name and e-mail (in any case you've forgot to set your name/e-mail) please take a look at this [guide](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Amending_your_commit_with_name.2FE-mail). To set your name/e-mail globally for future commits that you push, [read this](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Assign_commits_with_your_name_.26_E-mail_automatically).
@@ -85,7 +79,7 @@ Finding a good project to start with can be a challenge, because when starting o
- Find a test that fails, and try to make it succeed: <https://reactos.org/testman/>
- Look around in JIRA, and if you have problems finding nice projects to start with, there is a label for this: <https://jira.reactos.org/issues/?jql=labels%20%3D%20starter-project>
- Ask for help in the [chat]
- Ask for help on [IRC]
- Additionally, there are some tests that cause crashes/hangs, but these might be slightly harder: <https://jira.reactos.org/browse/ROSTESTS-125>
[clean room reverse engineering]: https://en.wikipedia.org/wiki/Clean_room_design
@@ -96,14 +90,12 @@ Finding a good project to start with can be a challenge, because when starting o
[migration to GitHub]: https://reactos.org/project-news/reactos-repository-migrated-github/
[humans are terrible at tracking large amount of information]: https://www.eurekalert.org/pub_releases/2005-03/aps-hmc030805.php
[Pull requests]: https://help.github.com/articles/about-pull-requests/
[GitHub Profile Settings]: https://github.com/settings/profile
[GitHub Email Settings]: https://github.com/settings/emails
[tips for reviewing patches]: https://www.drupal.org/patch/review
[missing functionality]: https://reactos.org/wiki/Missing_ReactOS_Functionality
[patch]: https://git-scm.com/docs/git-format-patch
[Submitting Patches]: https://reactos.org/wiki/Submitting_Patches
[Coding Style]: https://reactos.org/wiki/Coding_Style
[chat]: https://reactos.org/wiki/Mattermost
[IRC]: https://reactos.org/wiki/Connect_to_the_ReactOS_IRC_Channels
[Programming Guidelines]: https://reactos.org/wiki/Programming_Guidelines
[3rd Party Files.txt]: /media/doc/3rd_Party_Files.txt
[README.WINE]: /media/doc/README.WINE

View File

@@ -14,17 +14,3 @@ In addition, in order to avoid coming off as rude to helpful contributors, pleas
- Asking the contributor to do unrelated work
- Closing without providing a reason
- Merging with the intention to rewrite that code soon after
Before merging a PR, make sure it follows the [contributing rules](CONTRIBUTING.md#rules-and-recommendations), but more importantly:
- Make sure the author has specified a real e-mail in all PR commits
- If PR contains code or translations, make sure the author has not specified a nickname or alias, but a full legal name in all PR commits
- If PR contains media (wallpapers, themes, icons, sounds) or out-of-code documentation, make sure the author has specified the name or alias in all PR commits
- If PR contains mixed code with media changes, handle it as PR with code
- Important notes before using "Squash and merge" strategy on a PR:
- Make sure the author's name in GitHub profile matches one in commits. If this is not the case, ask the author to set it accordingly.
- If the author does not want to set the name in GitHub profile:
- "no squash merge" label needs to be added to a PR.
- Make sure every commit message is formatted correctly as in [.gitmessage](https://github.com/reactos/reactos/blob/master/.gitmessage).
- Finally in this case a PR has to be merged either using "Rebase and merge" strategy or manually.
- By pressing "Squash and merge" button in a PR you can make sure the author does not use no-reply e-mail -
under the commit message there will be a text label saying: `This commit will be authored by <address@email.com>`

View File

@@ -1,4 +1,5 @@
#pragma once
#ifndef __CALC_H__
#define __CALC_H__
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
@@ -279,3 +280,5 @@ INT_PTR CALLBACK AboutDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
void ConvExecute(HWND hWnd);
void ConvAdjust(HWND hWnd, int n_cat);
void ConvInit(HWND hWnd);
#endif /* __CALC_H__ */

View File

@@ -8,7 +8,7 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -156,7 +156,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_STANDARD
@@ -221,7 +221,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -7,7 +7,7 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS kalkulačka"
MENU IDR_MENU_SCIENTIFIC_1
@@ -155,7 +155,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulačka"
MENU IDR_MENU_STANDARD
@@ -220,7 +220,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulačka"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
MENU IDR_MENU_STANDARD

View File

@@ -8,7 +8,7 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -156,7 +156,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS"
MENU IDR_MENU_STANDARD
@@ -221,7 +221,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS"
@@ -153,7 +153,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS"
@@ -219,7 +219,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS"

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép"
MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép"
MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép"
MENU IDR_MENU_STANDARD

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -157,7 +157,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD
@@ -222,7 +222,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기"
MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기"
MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기 정보"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_STANDARD

View File

@@ -11,7 +11,7 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -159,7 +159,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD
@@ -224,7 +224,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -11,7 +11,7 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Minicalculator"
MENU IDR_MENU_SCIENTIFIC_1
@@ -159,7 +159,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Minicalculator"
MENU IDR_MENU_STANDARD
@@ -224,7 +224,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Minicalculator"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -157,7 +157,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS"
MENU IDR_MENU_STANDARD
@@ -222,7 +222,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -6,7 +6,7 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje"
MENU IDR_MENU_SCIENTIFIC_1
@@ -154,7 +154,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje"
MENU IDR_MENU_STANDARD
@@ -219,7 +219,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje"
MENU IDR_MENU_STANDARD

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator"
MENU IDR_MENU_SCIENTIFIC_1
@@ -157,7 +157,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator"
MENU IDR_MENU_STANDARD
@@ -222,7 +222,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_THAI, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "เครื่องคิดเลข ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "สถานภาพทั่วไป"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "เครื่องคิดเลข ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -7,7 +7,7 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_SCIENTIFIC_1
@@ -155,7 +155,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_STANDARD
@@ -220,7 +220,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_STANDARD

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器"
MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器"
MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器"
MENU IDR_MENU_STANDARD

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機"
MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機"
MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
MENU IDR_MENU_STANDARD

View File

@@ -4,8 +4,6 @@
#define IDC_STATIC -1
#endif
#define CW_USEDEFAULT16 0x8000
#define IDS_CALC_NAME 1
#define IDS_MATH_ERROR 2
#define IDS_QUICKHELP 3

View File

@@ -1945,9 +1945,9 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
hInstance,
MAKEINTRESOURCE(IDI_CALC),
IMAGE_ICON,
0,
0,
LR_DEFAULTSIZE | LR_SHARED);
GetSystemMetrics(SM_CXICON),
GetSystemMetrics(SM_CYICON),
0);
calc.hSmIcon = LoadImage(
hInstance,
@@ -1955,7 +1955,7 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
LR_SHARED);
0);
do {
/* ignore hwnd: dialogs are already visible! */
@@ -1985,6 +1985,12 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
save_config();
} while (calc.action != IDC_STATIC);
if (calc.hBgIcon != NULL)
DestroyIcon(calc.hBgIcon);
if (calc.hSmIcon != NULL)
DestroyIcon(calc.hSmIcon);
stop_rpn_engine();
Theme_Stop();

View File

@@ -15,7 +15,7 @@ BEGIN
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "選択", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "コピー", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
CONTROL "詳細表示", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
CONTROL "Advanced view", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 8, 208, 95, 10
END
@@ -23,13 +23,13 @@ IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 9, "MS UI Gothic"
BEGIN
LTEXT "文字セット:", IDC_STATIC, 8, 8, 48, 8
LTEXT "Charset:", IDC_STATIC, 8, 8, 48, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "分類:", IDC_STATIC, 8, 28, 50, 8
LTEXT "Group by:", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "検索", IDC_BUTTON_SEARCH, 200, 44, 50, 14
PUSHBUTTON "Search", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "検索文字列:", IDC_STATIC, 8, 48, 42, 8
LTEXT "Search for:", IDC_STATIC, 8, 48, 42, 8
LTEXT "Unicode:", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END
@@ -48,9 +48,9 @@ END
STRINGTABLE
BEGIN
IDS_LICENSE "本プログラムはフリーソフトウェアです。フリーソフトウェア財団が発行した GNU 一般公衆利用許諾契約書のバージョン2、またはそれ以降のバージョン任意選択の条件の下で再配布、または改変することができます。\r\n\r\n本プログラムは、有用であることを期待して配布されていますが、商品性や特定目的への適合性についての暗黙の保証もなく、いかなる保証もありません。詳細は GNU 一般公衆利用許諾契約書をご覧ください。\r\n\r\nあなたはこのプログラムとともに GNU 一般公衆利用許諾書のコピーを受け取っているはずです。そうでない場合は、フリーソフトウェア財団(Free Software Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA)までご連絡ください。"
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_ABOUT "バージョン情報(&B)..."
IDS_TITLE "文字コード表"
IDS_TITLE "Character Map"
IDS_UNICODE "Unicode"
IDS_ALL "すべて"
IDS_ALL "All"
END

View File

@@ -1,8 +1,7 @@
/*
* FILE: base/applications/charmap/lang/ro-RO.rc
* ReactOS Project (https://reactos.org)
* TRANSLATORS: Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
* TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot com)
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -59,5 +58,5 @@ BEGIN
IDS_ABOUT "&Despre…"
IDS_TITLE "Hartă de caractere"
IDS_UNICODE "Unicode"
IDS_ALL "Toate"
IDS_ALL "All"
END

View File

@@ -248,11 +248,13 @@ static int OnCommand(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
case CMD_ABOUT:
{
HICON hIcon;
WCHAR szTitle[MAX_STRING_LEN];
hIcon = LoadIconW(Globals.hInstance, MAKEINTRESOURCE(CLIPBRD_ICON));
LoadStringW(Globals.hInstance, STRING_CLIPBOARD, szTitle, ARRAYSIZE(szTitle));
ShellAboutW(Globals.hMainWnd, szTitle, NULL,
LoadIconW(Globals.hInstance, MAKEINTRESOURCEW(CLIPBRD_ICON)));
ShellAboutW(Globals.hMainWnd, szTitle, NULL, hIcon);
DeleteObject(hIcon);
break;
}
@@ -358,13 +360,6 @@ static void OnPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
break;
}
case CF_HDROP:
{
GetClientRect(hWnd, &rc);
HDropFromClipboard(hdc, &rc);
break;
}
default:
{
GetClientRect(hWnd, &rc);

View File

@@ -50,9 +50,6 @@ CLPFILE_ICON ICON "res/clpfile.ico"
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_JA_JP
#include "lang/ja-JP.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif

View File

@@ -164,8 +164,7 @@ UINT GetAutomaticClipboardFormat(void)
CF_DSPBITMAP,
CF_DSPMETAFILEPICT,
CF_DSPENHMETAFILE,
CF_PALETTE,
CF_HDROP
CF_PALETTE
};
return GetPriorityClipboardFormat(uFormatList, ARRAYSIZE(uFormatList));

View File

@@ -1,65 +0,0 @@
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
ID_ACCEL ACCELERATORS
BEGIN
VK_DELETE, CMD_DELETE, VIRTKEY
END
MAIN_MENU MENU
BEGIN
POPUP "ファイル(&F)"
BEGIN
MENUITEM "開く(&O)...", CMD_OPEN
MENUITEM "名前を付けて保存(&A)...", CMD_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "終了(&X)", CMD_EXIT
END
POPUP "編集(&E)"
BEGIN
MENUITEM "削除(&D)\tDel", CMD_DELETE
END
POPUP "表示(&D)"
BEGIN
MENUITEM "自動(&A)", CMD_AUTOMATIC
END
POPUP "ヘルプ(&H)"
BEGIN
MENUITEM "ヘルプ トピック(&H)", CMD_HELP
MENUITEM SEPARATOR
MENUITEM "バージョン情報(&A)", CMD_ABOUT
END
END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "クリップボード ビュア"
STRING_CLIPFILE "クリップボードの要素"
STRING_DELETE_MSG "クリップボードの内容をクリアしますか?"
STRING_DELETE_TITLE "クリップボードのクリア"
STRING_FORMAT_NT "ReactOS 用のクリップボード ファイル (*.clp)"
STRING_FORMAT_GEN "クリップボード ファイル (*.clp)"
END
STRINGTABLE
BEGIN
STRING_CF_UNKNOWN "未知の形式"
STRING_CF_TEXT "テキスト"
STRING_CF_BITMAP "ビットマップ"
STRING_CF_OEMTEXT "OEM テキスト"
STRING_CF_UNICODETEXT "Unicode テキスト"
STRING_CF_DIB "DIB ビットマップ"
STRING_CF_LOCALE "ロケール データ"
STRING_CF_ENHMETAFILE "拡張メタファイル"
STRING_CF_METAFILEPICT "メタファイル"
STRING_CF_PALETTE "カラー パレット"
STRING_CF_DIBV5 "DIB ビットマップ (バージョン 5)"
STRING_CF_SYLK "シンボリック リンク形式"
STRING_CF_DIF "データ交換フォーマット"
STRING_CF_HDROP "ドロップ データ"
END
STRINGTABLE
BEGIN
ERROR_UNSUPPORTED_FORMAT "表示できない形式のデータがクリップボードにあります。"
ERROR_INVALID_FILE_FORMAT "選択したファイルは有効なクリップボードファイルではありません。"
END

View File

@@ -331,45 +331,6 @@ void PlayEnhMetaFileFromClipboard(HDC hdc, const RECT *lpRect)
PlayEnhMetaFile(hdc, hEmf, lpRect);
}
static LPWSTR AllocStrCat(LPWSTR psz, LPCWSTR cat)
{
INT cch;
LPWSTR pszNew;
if (psz == NULL)
return _wcsdup(cat);
cch = lstrlenW(psz) + lstrlenW(cat) + 1;
pszNew = realloc(psz, cch * sizeof(WCHAR));
if (!pszNew)
return psz;
lstrcatW(pszNew, cat);
return pszNew;
}
void HDropFromClipboard(HDC hdc, const RECT *lpRect)
{
LPWSTR pszAlloc = NULL;
WCHAR szFile[MAX_PATH + 2];
HDROP hDrop = (HDROP)GetClipboardData(CF_HDROP);
UINT iFile, cFiles = DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0);
RECT rc = *lpRect;
FillRect(hdc, &rc, (HBRUSH)(COLOR_WINDOW + 1));
for (iFile = 0; iFile < cFiles; ++iFile)
{
DragQueryFileW(hDrop, iFile, szFile, _countof(szFile));
lstrcatW(szFile, L"\r\n");
pszAlloc = AllocStrCat(pszAlloc, szFile);
}
DrawTextW(hdc, pszAlloc, -1, &rc,
DT_LEFT | DT_NOPREFIX | DT_EXTERNALLEADING | DT_WORD_ELLIPSIS);
free(pszAlloc);
}
BOOL RealizeClipboardPalette(HDC hdc)
{
BOOL Success;

View File

@@ -17,5 +17,4 @@ void BitBltFromClipboard(PAINTSTRUCT ps, SCROLLSTATE state, DWORD dwRop);
void SetDIBitsToDeviceFromClipboard(UINT uFormat, PAINTSTRUCT ps, SCROLLSTATE state, UINT fuColorUse);
void PlayMetaFileFromClipboard(HDC hdc, const RECT *lpRect);
void PlayEnhMetaFileFromClipboard(HDC hdc, const RECT *lpRect);
void HDropFromClipboard(HDC hdc, const RECT *lpRect);
BOOL RealizeClipboardPalette(HDC hdc);

View File

@@ -1,10 +1,35 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Displays or changes file attributes recursively.
* COPYRIGHT: Copyright 1998-2019 Eric Kohl <eric.kohl@reactos.org>
* Copyright 2021 Doug Lyons <douglyons@douglyons.com>
* Copyright 2021-2023 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
* ATTRIB.C - attrib internal command.
*
*
* History:
*
* 04-Dec-1998 Eric Kohl
* started
*
* 09-Dec-1998 Eric Kohl
* implementation works, except recursion ("attrib /s").
*
* 05-Jan-1999 Eric Kohl
* major rewrite.
* fixed recursion ("attrib /s").
* started directory support ("attrib /s /d").
* updated help text.
*
* 14-Jan-1999 Eric Kohl
* Unicode ready!
*
* 19-Jan-1999 Eric Kohl
* Redirection ready!
*
* 21-Jan-1999 Eric Kohl
* Added check for invalid filenames.
*
* 23-Jan-1999 Eric Kohl
* Added handling of multiple filenames.
*
* 02-Apr-2005 (Magnus Olsen <magnus@greatlord.com>)
* Remove all hardcoded strings in En.rc
*/
#include <stdio.h>
@@ -14,437 +39,415 @@
#include <winbase.h>
#include <wincon.h>
#include <winuser.h>
#include <strsafe.h>
#include <conutils.h>
#include "resource.h"
/* Enable to support extended attributes.
* See https://ss64.com/nt/attrib.html for an exhaustive list. */
// TODO: If you enable this, translations need to be updated as well!
//#define EXTENDED_ATTRIBUTES
#define ALL_FILES_PATTERN L"*.*" // It may also be possible to use L"*" (shorter)
CON_SCREEN StdOutScreen = INIT_CON_SCREEN(StdOut);
static VOID
static
VOID
ErrorMessage(
_In_ DWORD dwErrorCode,
_In_opt_ PCWSTR pszMsg,
DWORD dwErrorCode,
LPWSTR szFormat,
...)
{
INT Len;
WCHAR szMsg[RC_STRING_MAX_SIZE];
WCHAR szMessage[1024];
LPWSTR szError;
va_list arg_ptr;
if (dwErrorCode == ERROR_SUCCESS)
return;
va_start(arg_ptr, pszMsg);
Len = ConMsgPrintfV(StdErr,
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
dwErrorCode,
LANG_USER_DEFAULT,
&arg_ptr);
va_end(arg_ptr);
if (szFormat)
{
va_start(arg_ptr, szFormat);
vswprintf(szMessage, szFormat, arg_ptr);
va_end(arg_ptr);
}
if (FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER,
NULL, dwErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPWSTR)&szError, 0, NULL))
{
ConPrintf(StdOut, L"%s %s\n", szError, szMessage);
if (szError)
LocalFree(szError);
return;
}
/* Fall back just in case the error is not defined */
if (Len <= 0)
ConResPrintf(StdErr, STRING_CONSOLE_ERROR, dwErrorCode);
/* Display the extra optional message if necessary */
if (pszMsg)
ConPrintf(StdErr, L" %s\n", pszMsg);
LoadStringW(GetModuleHandle(NULL), STRING_CONSOLE_ERROR, szMsg, ARRAYSIZE(szMsg));
if (szFormat)
ConPrintf(StdOut, L"%s -- %s\n", szMsg, szMessage);
else
ConPrintf(StdOut, L"%s\n", szMsg);
}
/**
* @brief Displays attributes for the given file.
* @return Always TRUE (success).
**/
static BOOL
PrintAttributes(
_In_ PWIN32_FIND_DATAW pFindData,
_In_ PCWSTR pszFullName,
_Inout_opt_ PVOID Context)
/* Returns TRUE if anything is printed, FALSE otherwise */
static
BOOL
PrintAttribute(
LPWSTR pszPath,
LPWSTR pszFile,
BOOL bRecurse,
BOOL bDirectories)
{
DWORD dwAttributes = pFindData->dwFileAttributes;
UNREFERENCED_PARAMETER(Context);
ConPrintf(StdOut,
#ifdef EXTENDED_ATTRIBUTES
L"%c %c%c%c %c %s\n",
#else
L"%c %c%c%c %s\n",
#endif
(dwAttributes & FILE_ATTRIBUTE_ARCHIVE) ? L'A' : L' ',
(dwAttributes & FILE_ATTRIBUTE_SYSTEM) ? L'S' : L' ',
(dwAttributes & FILE_ATTRIBUTE_HIDDEN) ? L'H' : L' ',
(dwAttributes & FILE_ATTRIBUTE_READONLY) ? L'R' : L' ',
#ifdef EXTENDED_ATTRIBUTES
(dwAttributes & FILE_ATTRIBUTE_NOT_CONTENT_INDEXED) ? L'I' : L' ',
#endif
pszFullName);
return TRUE;
}
typedef struct _ATTRIBS_MASKS
{
DWORD dwMask;
DWORD dwAttrib;
} ATTRIBS_MASKS, *PATTRIBS_MASKS;
/**
* @brief Changes attributes for the given file.
* @return TRUE if anything changed, FALSE otherwise.
**/
static BOOL
ChangeAttributes(
_In_ PWIN32_FIND_DATAW pFindData,
_In_ PCWSTR pszFullName,
_Inout_opt_ PVOID Context)
{
PATTRIBS_MASKS AttribsMasks = (PATTRIBS_MASKS)Context;
DWORD dwAttributes;
dwAttributes = ((pFindData->dwFileAttributes & ~AttribsMasks->dwMask) | AttribsMasks->dwAttrib);
return SetFileAttributesW(pszFullName, dwAttributes);
}
#define ENUM_RECURSE 0x01
#define ENUM_DIRECTORIES 0x02
typedef BOOL
(*PENUMFILES_CALLBACK)(
_In_ PWIN32_FIND_DATAW pFindData,
_In_ PCWSTR pszFullName,
_Inout_opt_ PVOID Context);
typedef struct _ENUMFILES_CTX
{
/* Fixed data */
_In_ PCWSTR FileName;
_In_ DWORD Flags;
/* Callback invoked on each enumerated file/directory */
_In_ PENUMFILES_CALLBACK Callback;
_In_ PVOID Context;
/* Dynamic data */
WIN32_FIND_DATAW findData;
ULONG uReparseLevel;
/* The full path buffer the function will act recursively */
// PWSTR FullPath; // Use a relocated buffer once long paths become supported!
size_t cchBuffer; // Buffer size
WCHAR FullPathBuffer[MAX_PATH + _countof("\\" ALL_FILES_PATTERN)];
} ENUMFILES_CTX, *PENUMFILES_CTX;
/* Returns TRUE if anything is done, FALSE otherwise */
static BOOL
EnumFilesWorker(
_Inout_ PENUMFILES_CTX EnumCtx,
_Inout_ off_t offFilePart) // Offset to the file name inside FullPathBuffer
{
BOOL bFound = FALSE;
HRESULT hRes;
HANDLE hFind;
PWSTR findFileName = EnumCtx->findData.cFileName;
PWSTR pFilePart = EnumCtx->FullPathBuffer + offFilePart;
size_t cchRemaining = EnumCtx->cchBuffer - offFilePart;
WCHAR szFullName[MAX_PATH];
LPWSTR pszFileName;
BOOL bFound = FALSE;
BOOL bIsDir;
BOOL bExactMatch;
DWORD Error;
/* Recurse over all subdirectories */
if (EnumCtx->Flags & ENUM_RECURSE)
/* prepare full file name buffer */
wcscpy(szFullName, pszPath);
pszFileName = szFullName + wcslen(szFullName);
/* display all subdirectories */
if (bRecurse)
{
/* Append '*.*' */
hRes = StringCchCopyW(pFilePart, cchRemaining, ALL_FILES_PATTERN);
if (hRes != S_OK)
{
if (hRes == STRSAFE_E_INSUFFICIENT_BUFFER)
{
// TODO: If this fails, try to reallocate EnumCtx->FullPathBuffer by
// increasing its size by _countof(EnumCtx->findData.cFileName) + 1
// to satisfy this copy, as well as the one made in the loop below.
}
// else
ConPrintf(StdErr, L"Directory level too deep: %s\n", EnumCtx->FullPathBuffer);
return FALSE;
}
/* append *.* */
wcscpy(pszFileName, L"*.*");
hFind = FindFirstFileW(EnumCtx->FullPathBuffer, &EnumCtx->findData);
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
DWORD Error = GetLastError();
if ((Error != ERROR_DIRECTORY) &&
(Error != ERROR_SHARING_VIOLATION) &&
(Error != ERROR_FILE_NOT_FOUND))
Error = GetLastError();
if ((Error != ERROR_DIRECTORY) && (Error != ERROR_SHARING_VIOLATION)
&& (Error != ERROR_FILE_NOT_FOUND))
{
ErrorMessage(Error, EnumCtx->FullPathBuffer);
ErrorMessage(Error, pszFile);
}
return FALSE;
}
do
{
BOOL bIsReparse;
size_t offNewFilePart;
if (!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
continue;
if (!wcscmp(findFileName, L".") || !wcscmp(findFileName, L".."))
continue;
/* Allow at most 2 levels of reparse points / symbolic links */
bIsReparse = !!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT);
if (bIsReparse)
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
if (EnumCtx->uReparseLevel < 2)
EnumCtx->uReparseLevel++;
else
continue;
continue;
}
hRes = StringCchPrintfExW(pFilePart, cchRemaining,
NULL, &offNewFilePart, 0,
L"%s\\", findFileName);
/* Offset to the new file name part */
offNewFilePart = EnumCtx->cchBuffer - offNewFilePart;
bFound |= EnumFilesWorker(EnumCtx, offNewFilePart);
/* Recalculate the file part pointer and the number of characters
* remaining: the buffer may have been enlarged and relocated. */
pFilePart = EnumCtx->FullPathBuffer + offFilePart;
cchRemaining = EnumCtx->cchBuffer - offFilePart;
/* If we went through a reparse point / symbolic link, decrease level */
if (bIsReparse)
EnumCtx->uReparseLevel--;
wcscpy(pszFileName, findData.cFileName);
wcscat(pszFileName, L"\\");
bFound |= PrintAttribute(szFullName, pszFile, bRecurse, bDirectories);
}
while (FindNextFileW(hFind, &EnumCtx->findData));
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
}
/* Append the file name pattern to search for */
hRes = StringCchCopyW(pFilePart, cchRemaining, EnumCtx->FileName);
/* append file name */
wcscpy(pszFileName, pszFile);
/* Search in the current directory */
hFind = FindFirstFileW(EnumCtx->FullPathBuffer, &EnumCtx->findData);
/* search current directory */
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
return bFound;
}
do
{
BOOL bIsDir = !!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
BOOL bExactMatch = (wcsicmp(findFileName, EnumCtx->FileName) == 0);
bIsDir = findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
bExactMatch = wcsicmp(findData.cFileName, pszFile) == 0;
if (bIsDir && !(EnumCtx->Flags & ENUM_DIRECTORIES) && !bExactMatch)
if (bIsDir && !bDirectories && !bExactMatch)
continue;
if (!wcscmp(findFileName, L".") || !wcscmp(findFileName, L".."))
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue;
}
/* If we recursively enumerate files excluding directories,
* exclude any directory from the enumeration. */
if (bIsDir && !(EnumCtx->Flags & ENUM_DIRECTORIES) && (EnumCtx->Flags & ENUM_RECURSE))
continue;
wcscpy(pszFileName, findData.cFileName);
StringCchCopyW(pFilePart, cchRemaining, findFileName);
/* bFound = */ EnumCtx->Callback(&EnumCtx->findData, EnumCtx->FullPathBuffer, EnumCtx->Context);
ConPrintf(StdOut,
L"%c %c%c%c %s\n",
(findData.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) ? L'A' : L' ',
(findData.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM) ? L'S' : L' ',
(findData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) ? L'H' : L' ',
(findData.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? L'R' : L' ',
szFullName);
bFound = TRUE;
}
while (FindNextFileW(hFind, &EnumCtx->findData));
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
return bFound;
}
static BOOL
AttribEnumFiles(
_In_ PCWSTR pszPath,
_In_ PCWSTR pszFile,
_In_ DWORD fFlags,
_In_ PATTRIBS_MASKS AttribsMasks)
/* Returns TRUE if anything changed, FALSE otherwise */
static
BOOL
ChangeAttribute(
LPWSTR pszPath,
LPWSTR pszFile,
BOOL bRecurse,
BOOL bDirectories,
DWORD dwMask,
DWORD dwAttrib)
{
ENUMFILES_CTX EnumContext = {0};
size_t offFilePart;
HRESULT hRes;
WIN32_FIND_DATAW findData;
HANDLE hFind;
WCHAR szFullName[MAX_PATH];
LPWSTR pszFileName;
BOOL bFound = FALSE;
BOOL bIsDir;
BOOL bExactMatch;
DWORD dwAttribute;
DWORD Error;
EnumContext.FileName = pszFile;
EnumContext.Flags = fFlags;
EnumContext.Callback = (AttribsMasks->dwMask == 0 ? PrintAttributes : ChangeAttributes);
EnumContext.Context = (AttribsMasks->dwMask == 0 ? NULL : AttribsMasks);
/* prepare full file name buffer */
wcscpy(szFullName, pszPath);
pszFileName = szFullName + wcslen(szFullName);
/* Prepare the full file path buffer */
EnumContext.cchBuffer = _countof(EnumContext.FullPathBuffer);
hRes = StringCchCopyExW(EnumContext.FullPathBuffer,
EnumContext.cchBuffer,
pszPath,
NULL,
&offFilePart,
0);
if (hRes != S_OK)
return FALSE;
/* Offset to the file name part */
offFilePart = EnumContext.cchBuffer - offFilePart;
if (EnumContext.FullPathBuffer[offFilePart - 1] != L'\\')
/* display all subdirectories */
if (bRecurse)
{
EnumContext.FullPathBuffer[offFilePart] = L'\\';
EnumContext.FullPathBuffer[offFilePart + 1] = UNICODE_NULL;
offFilePart++;
/* append *.* */
wcscpy(pszFileName, L"*.*");
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
Error = GetLastError();
if ((Error != ERROR_DIRECTORY) && (Error != ERROR_SHARING_VIOLATION)
&& (Error != ERROR_FILE_NOT_FOUND))
{
ErrorMessage(Error, pszFile);
}
return FALSE;
}
do
{
if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
continue;
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue;
}
wcscpy(pszFileName, findData.cFileName);
wcscat(pszFileName, L"\\");
bFound |= ChangeAttribute(szFullName, pszFile, bRecurse, bDirectories,
dwMask, dwAttrib);
}
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
}
return EnumFilesWorker(&EnumContext, offFilePart);
/* append file name */
wcscpy(pszFileName, pszFile);
/* search current directory */
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
return bFound;
}
do
{
bIsDir = findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
bExactMatch = wcsicmp(findData.cFileName, pszFile) == 0;
if (bIsDir && !bDirectories && !bExactMatch)
continue;
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue;
}
if (bRecurse && bIsDir && !bDirectories)
continue;
wcscpy(pszFileName, findData.cFileName);
dwAttribute = (findData.dwFileAttributes & ~dwMask) | dwAttrib;
SetFileAttributes(szFullName, dwAttribute);
bFound = TRUE;
}
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
return bFound;
}
int wmain(int argc, WCHAR *argv[])
{
INT i;
DWORD dwEnumFlags = 0;
ATTRIBS_MASKS AttribsMasks = {0};
BOOL bFound = FALSE;
PWSTR pszFileName;
WCHAR szFilePath[MAX_PATH + 2] = L""; // + 2 to reserve an extra path separator and a NULL-terminator.
INT i;
WCHAR szPath[MAX_PATH] = L""; // For case we only use 'attrib +h /s' there is no szPath
WCHAR szFileName [MAX_PATH];
BOOL bRecurse = FALSE;
BOOL bDirectories = FALSE;
DWORD dwAttrib = 0;
DWORD dwMask = 0;
LPWSTR p;
/* Initialize the Console Standard Streams */
ConInitStdStreams();
/* Check for options and file specifications */
/* Print help */
if (argc > 1 && wcscmp(argv[1], L"/?") == 0)
{
ConResPuts(StdOut, STRING_ATTRIB_HELP);
return 0;
}
/* check for options */
for (i = 1; i < argc; i++)
{
if (*argv[i] == L'/')
{
/* Print help and bail out if needed */
if (wcscmp(argv[i], L"/?") == 0)
{
ConResPuts(StdOut, STRING_ATTRIB_HELP);
return 0;
}
else
/* Retrieve the enumeration modes */
if (wcsicmp(argv[i], L"/s") == 0)
dwEnumFlags |= ENUM_RECURSE;
else if (wcsicmp(argv[i], L"/d") == 0)
dwEnumFlags |= ENUM_DIRECTORIES;
else
{
/* Unknown option */
ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]);
return -1;
}
}
else
/* Build attributes and mask */
if ((*argv[i] == L'+') || (*argv[i] == L'-'))
{
BOOL bAdd = (*argv[i] == L'+');
if (wcsicmp(argv[i], L"/s") == 0)
bRecurse = TRUE;
else if (wcsicmp(argv[i], L"/d") == 0)
bDirectories = TRUE;
}
/* create attributes and mask */
for (i = 1; i < argc; i++)
{
if (*argv[i] == L'+')
{
if (wcslen(argv[i]) != 2)
{
ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]);
ConResPrintf(StdOut, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]);
return -1;
}
switch (towupper(argv[i][1]))
{
case L'A':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_ARCHIVE;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_ARCHIVE;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_ARCHIVE;
break;
case L'S':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_SYSTEM;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_SYSTEM;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_SYSTEM;
dwMask |= FILE_ATTRIBUTE_ARCHIVE;
dwAttrib |= FILE_ATTRIBUTE_ARCHIVE;
break;
case L'H':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_HIDDEN;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_HIDDEN;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_HIDDEN;
dwMask |= FILE_ATTRIBUTE_HIDDEN;
dwAttrib |= FILE_ATTRIBUTE_HIDDEN;
break;
case L'R':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_READONLY;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_READONLY;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_READONLY;
dwMask |= FILE_ATTRIBUTE_READONLY;
dwAttrib |= FILE_ATTRIBUTE_READONLY;
break;
#ifdef EXTENDED_ATTRIBUTES
case L'I':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
case L'S':
dwMask |= FILE_ATTRIBUTE_SYSTEM;
dwAttrib |= FILE_ATTRIBUTE_SYSTEM;
break;
#endif
default:
ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]);
ConResPrintf(StdOut, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]);
return -1;
}
}
else
else if (*argv[i] == L'-')
{
/* At least one file specification found */
bFound = TRUE;
if (wcslen(argv[i]) != 2)
{
ConResPrintf(StdOut, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]);
return -1;
}
switch (towupper(argv[i][1]))
{
case L'A':
dwMask |= FILE_ATTRIBUTE_ARCHIVE;
dwAttrib &= ~FILE_ATTRIBUTE_ARCHIVE;
break;
case L'H':
dwMask |= FILE_ATTRIBUTE_HIDDEN;
dwAttrib &= ~FILE_ATTRIBUTE_HIDDEN;
break;
case L'R':
dwMask |= FILE_ATTRIBUTE_READONLY;
dwAttrib &= ~FILE_ATTRIBUTE_READONLY;
break;
case L'S':
dwMask |= FILE_ATTRIBUTE_SYSTEM;
dwAttrib &= ~FILE_ATTRIBUTE_SYSTEM;
break;
default:
ConResPrintf(StdOut, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]);
return -1;
}
}
}
/* If no file specification was found, operate on all files of the current directory */
if (!bFound)
if (argc == 1)
{
GetCurrentDirectoryW(_countof(szFilePath) - 2, szFilePath);
pszFileName = ALL_FILES_PATTERN;
bFound = AttribEnumFiles(szFilePath, pszFileName, dwEnumFlags, &AttribsMasks);
if (!bFound)
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, pszFileName);
DWORD len;
len = GetCurrentDirectory(MAX_PATH, szPath);
if (szPath[len-1] != L'\\')
{
szPath[len] = L'\\';
szPath[len + 1] = UNICODE_NULL;
}
wcscpy(szFileName, L"*.*");
PrintAttribute(szPath, szFileName, bRecurse, bDirectories);
return 0;
}
/* Operate on each file specification */
/* get full file name */
for (i = 1; i < argc; i++)
{
/* Skip options */
if (*argv[i] == L'/' || *argv[i] == L'+' || *argv[i] == L'-')
if (*argv[i] == L'+' || *argv[i] == L'-' || *argv[i] == L'/')
continue;
GetFullPathNameW(argv[i], _countof(szFilePath) - 2, szFilePath, &pszFileName);
if (pszFileName)
{
/* Move the file part so as to separate and NULL-terminate the directory */
MoveMemory(pszFileName + 1, pszFileName,
sizeof(szFilePath) - (pszFileName -szFilePath + 1) * sizeof(*szFilePath));
*pszFileName++ = UNICODE_NULL;
}
else
{
pszFileName = L"";
}
GetFullPathNameW(argv[i], MAX_PATH, szPath, &p);
wcscpy(szFileName, p);
*p = 0;
bFound = AttribEnumFiles(szFilePath, pszFileName, dwEnumFlags, &AttribsMasks);
if (!bFound)
if (dwMask == 0)
{
if (!PrintAttribute(szPath, szFileName, bRecurse, bDirectories))
{
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, argv[i]);
}
}
else if (!ChangeAttribute(szPath, szFileName, bRecurse, bDirectories, dwMask, dwAttrib))
{
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, argv[i]);
}
}
// Code below handles the special case of 'attrib +h /s' and similar
if (bRecurse && dwMask && (wcscmp(szPath, L"") == 0))
{
DWORD len;
len = GetCurrentDirectory(MAX_PATH, szPath);
if (szPath[len-1] != L'\\')
{
szPath[len] = L'\\';
szPath[len + 1] = UNICODE_NULL;
}
wcscpy(szFileName, L"*.*");
if (!ChangeAttribute(szPath, szFileName, bRecurse, bDirectories, dwMask, dwAttrib))
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, szFileName);
}
return 0;

View File

@@ -1,14 +1,13 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Czech resource file
* TRANSLATORS: Copyright 2015 Radek Liska aka Black_Fox <radekliska@gmail.com>
/* FILE: base/shell/cmd/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2015-04-12
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Displays or changes file attributes.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
[/S [/D]]\n\n\
@@ -23,6 +22,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
/D Processes directories as well\n\n\
Type ATTRIB without a parameter to display the attributes of all files.\n"
STRING_CONSOLE_ERROR "Neznámá chyba: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Neplatný formát parametru - %s\n"
END

View File

@@ -1,14 +1,10 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: German resource file
* TRANSLATORS: Copyright 2005 Klemens Friedl <frik85@hotmail.com>
*/
/* German language file by Klemens Friedl <frik85> 2005-06-03 */
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Zeigt Dateiattribute an oder ändert sie.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] Dateiname ...\n\
[/S [/D]]\n\n\
@@ -23,6 +19,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] Dateiname ...\n\
/D Verarbeitet auch die Ordner.\n\n\
ATTRIB ohne Parameter zeigt die derzeit gesetzten Attribute aller Dateien an."
STRING_CONSOLE_ERROR "Unbekannter Fehler: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Ungültiges Parameterformat - %s\n"
END

View File

@@ -1,14 +1,13 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Greek resource file
* TRANSLATORS: Copyright 2008 Apostolos Alexiadis <djapal@gmail.com>
* Αρχική έκδοση - Ημιτελής.
* Ελληνική μετάφραση - Απόστολος Αλεξιάδης
*/
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Προβολή ή αλλαγή των χαρακτηριστικών των αρχείων.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
[/S [/D]]\n\n\
@@ -23,6 +22,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
/D Επεξεργασία καταλόγων επίσης.\n\n\
Πληκτρολογήστε ATTRIB χωρίς παράμετρο, για να εμφανιστούν τα χαρακτηριστικά όλων των αρχείων.\n"
STRING_CONSOLE_ERROR "Άγνωστο σφάλμα: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Μη έγκυρο φορμά παραμέτρου - %s\n"
END

View File

@@ -1,14 +1,8 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: English (United States) resource file
* TRANSLATORS: Copyright 2005 Magnus Olsen <magnus@greatlord.com>
*/
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Displays or changes file attributes.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
[/S [/D]]\n\n\
@@ -23,6 +17,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
/D Processes directories as well\n\n\
Type ATTRIB without a parameter to display the attributes of all files.\n"
STRING_CONSOLE_ERROR "Unknown error: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Invalid parameter format - %s\n"
END

View File

@@ -1,15 +1,10 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Spanish resource file
* TRANSLATORS: Copyright 2005 Jose Pedro Fernández Pascual <huma2000@terra.es>
* Copyright 2020 Julen Urizar Compains <julenuri@hotmail.com>
*/
/* Spanish translation by HUMA2000, Jose Pedro Fernández Pascual, Ismael Ferreras Morezuelas (Swyter) y Julen Urizar Compains */
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "Archivo no encontrado - '%s'\n"
STRING_ATTRIB_HELP "Muestra o cambia los atributos de los archivos.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
[/S [/D]]\n\n\
@@ -24,6 +19,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
/D Procesa también los directorios\n\n\
Escriba ATTRIB sin un parámetro para mostrar los atributos de todos los archivos.\n"
STRING_CONSOLE_ERROR "Error desconocido: %d\n"
STRING_FILE_NOT_FOUND "Archivo no encontrado - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Formato de parámetro erróneo - %s\n"
END

View File

@@ -1,14 +1,10 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: French resource file
* TRANSLATORS: Copyright 2005 Sylvain Pétréolle <spetreolle@yahoo.fr>
*/
/* French translation by Sylvain Pétréolle, Pierre Schweitzer */
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Affiche ou change des attributs de fichiers.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
[/S [/D]]\n\n\
@@ -23,6 +19,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
/D Traite également les répertoires\n\n\
Taper ATTRIB sans paramètre pour afficher les attributs de tous les fichiers."
STRING_CONSOLE_ERROR "Erreur inconnue : %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Format de paramètre incorrect - %s\n"
END

View File

@@ -1,14 +1,10 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Hungarian resource file
* TRANSLATORS: Copyright 2005 Robert Horvath <talley@cubeclub.hu>
*/
/* Hungarian translation by Robert Horvath (talley at cubeclub.hu) 2005 */
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Állományok attribútumok megjelenítése vagy beállításai.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] állomány ...\n\
[/S [/D]]\n\n\
@@ -23,6 +19,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] állomány ...\n\
/D Mappákra is érvényesíti\n\n\
Ha ATTRIB-ot paraméter nélkül írod be, megjeleníti a mappában található összes állományt és annak attribútumát.\n"
STRING_CONSOLE_ERROR "Ismeretlen hiba: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Érvénytelen paraméter megadás - %s\n"
END

View File

@@ -1,15 +1,10 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Indonesian resource file
* TRANSLATORS: Copyright 2007 Zaenal Mutaqin <ade999@gmail.com>
* Copyright 2020 Mas Ahmad Muhammad <m.charly81@gmail.com>
*/
/* Indonesian language file by Zaenal Mutaqin <ade999 at gmail dot com> 2007-02-15 and Mas Ahmad Muhammad <m dot charly81 at gmail dot com> */
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "Berkas tidak ditemukan - '%s'\n"
STRING_ATTRIB_HELP "Menampilkan atau mengubah atribut file.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
[/S [/D]]\n\n\
@@ -24,6 +19,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
/D Proses direktori juga\n\n\
Ketik ATTRIB tanpa parameter untuk menampilkan atribut dari semua file.\n"
STRING_CONSOLE_ERROR "Kesalahan tidak dikenal: %d\n"
STRING_FILE_NOT_FOUND "Berkas tidak ditemukan - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Format parameter tidak benar - %s\n"
END

View File

@@ -1,14 +1,8 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Italian resource file
* TRANSLATORS: Copyright 2007 Paolo Devoti <devotip@tiscali.it>
*/
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Visualizza o modifica gli attributi dei file.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
[/S [/D]]\n\n\
@@ -23,6 +17,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
/D Tratta anche le cartelle\n\n\
Scrivi ATTRIB senza parametri per visualizzare gli attributi di tutti i file.\n"
STRING_CONSOLE_ERROR "Errore sconosciuto: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Formato dei parametri non valido - %s\n"
END

View File

@@ -1,15 +1,8 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Japanese resource file
* TRANSLATORS: Copyright 2005 tsk <tsk_n@mail.goo.ne.jp>
* Copyright 2013 Tomoya Kitagawa (sabiki) <jptomoya@yahoo.co.jp>
*/
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "ファイル属性を表示または変更します。\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [ファイル] ...\n\
[/S [/D]]\n\n\
@@ -24,6 +17,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [ファイル] ...\n\
/D フォルダも処理します。\n\n\
パラメータを指定しないで ATTRIB と入力すると、すべてのファイルの属性を表示します。\n"
STRING_CONSOLE_ERROR "不明なエラー: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "無効なパラメータの書式です。 - %s\n"
END

View File

@@ -1,15 +1,8 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Norwegian resource file
* TRANSLATORS: Copyright 2006 Lars Martin Hambro (LMH1) <lars_martin4@hotmail.com>
* Copyright 2007 Frode Lillerud (Scalpel78) <frode@enkelt.no>
*/
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Viser eller endrer filattributtene.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fil ...\n\
[/S [/D]]\n\n\
@@ -24,6 +17,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fil ...\n\
/D Bearbeider også mapper.\n\n\
Skriv ATTRIB uten parametere for å vise attributtene til alle filer.\n"
STRING_CONSOLE_ERROR "Ukjent feil: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Ugyldig parameter format - %s\n"
END

View File

@@ -1,16 +1,18 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Polish resource file
* TRANSLATORS: Copyright 2008 Olaf Siejka <caemyr@gmail.com>
* Copyright 2010 Maciej Bialas <bjauy@o2.pl>
* Copyright 2020 Piotr Hetnarowicz <piotrhwz@gmail.com>
* Translated by Caemyr - Olaf Siejka (Jan, 2008)
* Updated by niski - Maciej Bialas (Mar, 2010)
* Use ReactOS forum PM or IRC to contact me
* https://reactos.org
* IRC: irc.freenode.net #reactos-pl;
* UTF-8 conversion by Caemyr (May, 2011)
* Updated by pithwz - Piotr Hetnarowicz (piotrhwz@gmail.com) (April, 2020)
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "Nie można odnaleźć pliku - '%s'\n"
STRING_ATTRIB_HELP "Wyświetla lub zmienia atrybuty plików.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] nazwa_pliku ...\n\
[/S [/D]]\n\n\
@@ -25,6 +27,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] nazwa_pliku ...\n\
/D Przetwarza również katalogi\n\n\
Wpisz ATTRIB bez żadnego parametru, by wyświetlić atrybuty wszystkich plików.\n"
STRING_CONSOLE_ERROR "Nieznany błąd: %d\n"
STRING_FILE_NOT_FOUND "Nie można odnaleźć pliku - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Niewłaściwy format parametru - %s\n"
END

View File

@@ -1,14 +1,10 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2014 Ștefan Fulea <stefan.fulea@mail.com>
*/
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Afișează sau modifică atributele de fișiere.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fișier ...\n\
[/S [/D]]\n\n\
@@ -23,6 +19,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fișier ...\n\
Tastați ATTRIB fără argumente pentru afișarea atributelor pentru\n\
toate fișierele.\n"
STRING_CONSOLE_ERROR "Eroare necunoscută: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Formatul argumentului este eronat - %s\n"
END

View File

@@ -1,17 +1,10 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Russian resource file
* TRANSLATORS: Copyright 2005 Andrey Korotaev <unC0Rr@inbox.ru>
* Copyright 2005 Aleksey Bragin <aleksey@reactos.org>
* Copyright 2011 Sergey Shamanaev (seven_ro) <seven_s@mail.ru>
* Copyright 2014 Kudratov Olimjon <olim98@bk.ru>
*/
/* Russian translation by Andrey Korotaev (unC0Rr@inbox.ru) & Aleksey Bragin (aleksey@reactos.org) & Kudratov Olimjon (olim98@bk.ru)*/
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Вывод и изменение атрибутов файлов.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\
[/S [/D]]\n\n\
@@ -26,6 +19,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\
/D Обработка и файлов, и папок.\n\n\
Команда ATTRIB без параметров выводит атрибуты всех файлов.\n"
STRING_CONSOLE_ERROR "Неизвестная ошибка: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Неверный формат параметра - %s\n"
END

View File

@@ -1,14 +1,14 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Slovak resource file
* TRANSLATORS: Copyright 2009-2010 Mário Kačmár <kario@szm.sk>
/* Slovak translation for CMD
* TRANSLATOR: Mário Kačmár /Mario Kacmar/ aka Kario (kario@szm.sk)
* DATE OF TR: 21-03-2009
* LastChange: 10-08-2010
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Displays or changes file attributes.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
[/S [/D]]\n\n\
@@ -23,6 +23,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
/D Processes directories as well\n\n\
Type ATTRIB without a parameter to display the attributes of all files.\n"
STRING_CONSOLE_ERROR "Neznáma chyba: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Invalid parameter format - %s\n"
END

View File

@@ -1,14 +1,12 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Albanian resource file
* TRANSLATORS: Copyright 2013 Ardit Dani <ardit.dani@gmail.com>
*/
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013
*/
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Shfaq ose ndryshu atributet e dokumentave.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
[/S [/D]]\n\n\
@@ -23,6 +21,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] file ...\n\
/D Proçeso skedat gjithashtu\n\n\
Shkruaj ATTRIB pa një parameter për të shfaque atributet e të gjithë dokumentave.\n"
STRING_CONSOLE_ERROR "Error i paditur: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Parametrat e formatit invalid - %s\n"
END

View File

@@ -1,14 +1,8 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Swedish resource file
* TRANSLATORS: Copyright 2011 Olaf Siejka <caemyr@gmail.com>
*/
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Visar eller ändrar filattributen.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fil ...\n\
[/S [/D]]\n\n\
@@ -23,6 +17,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fil ...\n\
/D Bearbetar även mappar.\n\n\
Skriv ATTRIB utan parametrar för att visa attributten för alla filer.\n"
STRING_CONSOLE_ERROR "Okänt fel: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Ogiltigt parameterformat - %s\n"
END

View File

@@ -1,14 +1,10 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Turkish resource file
* TRANSLATORS: Copyright 2015 Erdem Ersoy (eersoy93) <erdemersoy@erdemersoy.net>
*/
/* TRANSLATOR: 2015 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "Dosya bulunamadı - '%s'\n"
STRING_ATTRIB_HELP "Dosya öz niteliklerini görüntüler ya da değiştirir.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] dosya ...\n\
[/S [/D]]\n\n\
@@ -23,6 +19,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] dosya ...\n\
Tüm dosyaların öz niteliklerini görüntülemek için bir değişken olmadan ATTRIB\n\
yazınız.\n"
STRING_CONSOLE_ERROR "Bilinmeyen hata: %d\n"
STRING_FILE_NOT_FOUND "Dosya bulunamadı - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Geçersiz değişken biçimi - %s\n"
END

View File

@@ -1,15 +1,16 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Ukrainian resource file
* TRANSLATORS: Copyright 2006 Artem Reznikov <temarez@yandex.ru>
* Copyright 2011 Igor Paliychuk <mansonigor@gmail.com>
* PROJECT: Command-line interface
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/shell/cmd/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for Command-line interface
* TRANSLATORS: Artem Reznikov, Igor Paliychuk
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Відображення або зміна атрибутів файлу.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\
[/S [/D]]\n\n\
@@ -24,6 +25,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\
/D Обробка також i тек\n\n\
Введiть ATTRIB без параметра, щоб вивести атрибути всiх файлiв.\n"
STRING_CONSOLE_ERROR "Невiдома помилка: %d\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Невiрний формат параметра - %s\n"
END

View File

@@ -1,14 +1,10 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Simplified) resource file
* TRANSLATORS: Copyright 2011 Song Fuchang (0xfc) <sfc_0@yahoo.com.cn>
*/
/* Simplified Chinese translation by Song Fuchang (0xfc) <sfc_0@yahoo.com.cn> 2011 */
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "找不到文件 - “%s”\n"
STRING_ATTRIB_HELP "显示或更改文件属性。\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 文件 ...\n\
[/S [/D]]\n\n\
@@ -22,6 +18,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 文件 ...\n\
/D 同时处理目录\n\n\
执行不带参数的 ATTRIB 将会显示所有文件的属性。\n"
STRING_CONSOLE_ERROR "未知错误:%d\n"
STRING_FILE_NOT_FOUND "找不到文件 - “%s”\n"
STRING_ERROR_INVALID_PARAM_FORMAT "无效的参数格式 - %s\n"
END

View File

@@ -1,5 +1,5 @@
/*
* PROJECT: ReactOS Attrib Command
* PROJECT: ReactOS Attribute Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2016 Henry Tang Ih <henrytang2@hotmail.com>
@@ -11,6 +11,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "找不到檔案 - '%s'\n"
STRING_ATTRIB_HELP "顯示或更改檔案屬性。\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 檔案 ...\n\
[/S [/D]]\n\n\
@@ -24,6 +25,5 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 檔案 ...\n\
/D 同時處理目錄\n\n\
執行不帶參數的 ATTRIB 將會顯示所有檔案的屬性。\n"
STRING_CONSOLE_ERROR "未知的錯誤:%d\n"
STRING_FILE_NOT_FOUND "找不到檔案 - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "無效的參數格式 - %s\n"
END

View File

@@ -1,48 +1,41 @@
/*
* PROJECT: ReactOS FC Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2022 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compară două fișiere sau seturi de fișiere și afișează diferențele dintre\n\
ele.\n\
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them.\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[discul1:][calea1]numele fișierului1 [discul2:][calea2]numele fișierului2\n\
FC /B [discul1:][calea1]numele fișierului1 [drive2:][path2]numele fișierului2\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Afișează numai prima și ultima linie pentru fiecare set de diferențe.\n\
/B Efectuează o comparație binară.\n\
/C Ignoră cazul literelor.\n\
/L Compară fișierele ca text ASCII.\n\
/LBn Setează numărul maxim consecutiv de nepotriviri la numărul\n\
de linii specificat (implicit: 100).\n\
/N Afișează numerele de linii într-o comparație ASCII.\n\
/OFF[LINE] Nu ignoră fișierele cu atribute deconectate setate.\n\
/T Nu extinde taburile la spații (implicit: extinde).\n\
/U Compară fișierele ca fișierele text UNICODE.\n\
/W Comprimă spațiul alb (taburi și spații) pentru comparație.\n\
/nnnn Specifică un număr de linii consecutive ce trebuie să se potrivească\n\
după o nepotrivire (implicit: 2).\n\
[disc1:][cale1]numele fișierului1\n\
Specifică primul fișier sau set de fișiere de comparat.\n\
[disc2:][cale2]numele fișierului2\n\
Specifică al doilea fișier sau set de fișiere de comparat.\n"
IDS_NO_DIFFERENCE "FC: nu a fost întâlnită nicio diferență\n"
IDS_LONGER_THAN "FC: %ls e mai mare decât %ls\n"
IDS_COMPARING "Compararea fișierelor %ls și %ls\n"
IDS_OUT_OF_MEMORY "FC: Fără memorie\n"
IDS_CANNOT_READ "FC: nu poate fi citit din %ls\n"
IDS_INVALID_SWITCH "FC: Comutator nevalidh\n"
IDS_CANNOT_OPEN "FC: nu poate fi deschis %ls - Nu există un astfel de fișier sau dosar\n"
IDS_NEEDS_FILES "FC: Număr insuficient de specificații pentru fișiere\n"
IDS_CANT_USE_WILDCARD "Semnele speciale ('*' și '?') nu sunt acceptate deocamdată\n"
IDS_DIFFERENT "FC: Fișierele %ls și %ls sunt diferite\n"
IDS_TOO_LARGE "FC: Fișierul %ls este prea mare\n"
IDS_RESYNC_FAILED "Resincronizare eșuată. Fișierele sunt prea diferite.\n"
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -1,10 +1,4 @@
/*
* PROJECT: ReactOS Mode Utility
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -33,12 +27,12 @@ Rata de repetiție la menținerea unei taste apăsate:\n\
IDS_QUERY_PRINTER_FOUND "Depistat dispozitiv de imprimare - %s\n"
IDS_QUERY_PARALLEL_FOUND "Depistat dispozitiv la portul paralel - %s\n"
IDS_QUERY_DOSDEV_FOUND "Depistat dispozitiv de tip DOS - %s\n"
// IDS_QUERY_MISC_FOUND "A fost găsit alt dispozitiv - %s\n"
// IDS_QUERY_MISC_FOUND "Found other device - %s\n"
// IDS_QUERY_DEVICE_FOUND "A fost găsit dispozitivul %s - %s\n"
// IDS_QUERY_DEVICE_FOUND "Found %s device - %s\n"
// IDS_SERIAL "serial"
// IDS_PRINTER "paralel"
// IDS_OTHER "altul"
// IDS_PRINTER "parallel"
// IDS_OTHER "other"
END
STRINGTABLE
@@ -81,7 +75,7 @@ BEGIN
IDS_ERROR_TIMEOUT_SET_DEVICE "Eșec la stabilirea perioadei de expirare pentru dispozitivul %s:\n"
IDS_ERROR_INVALID_PARITY_BITS "EROARE: Valoare eronată pentru biții de paritate %d:\n"
IDS_ERROR_INVALID_STOP_BITS "EROARE: Valoare eronată pentru biții delimitori %d:\n"
IDS_ERROR_NO_MEMORY "EROARE: Nu există suficientă memorie.\n"
IDS_ERROR_NO_MEMORY "ERAORE: Nu există suficientă memorie.\n"
IDS_ERROR_SCREEN_LINES_COL "Ecranul nu poate fi stabilit cu numărul de linii sau coloane specificate.\n"
IDS_ERROR_INVALID_CODEPAGE "Pagina de cod specificată nu e validă.\n"
IDS_ERROR_INVALID_CODEPAGE "The code page specified is not valid.\n"
END

View File

@@ -18,6 +18,6 @@ STRINGTABLE
STRING_ENUM_FAILED, "Ошибка: Не удается получить список процессов.\n"
STRING_TERMINATE_FAILED, "Ошибка: Не удается завершить процесс ""%1"".\n"
STRING_SELF_TERMINATION, "Ошибка: Процесс не может завершить сам себя.\n"
STRING_PARAM_TOO_MUCH, "Ошибка: Неверный синтаксис. Нельзя использовать опцию '%1' больше '%2!d!' раз(а).\n"
STRING_INVALID_SYNTAX, "Ошибка: Неверный синтаксис.\n"
STRING_PARAM_TOO_MUCH, "Error: Invalid syntax. '%1' option is not allowed more than '%2!d!' time(s).\n"
STRING_INVALID_SYNTAX, "Error: Invalid syntax.\n"
}

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Bulgarian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Catalan resource file
* TRANSLATOR:
*/
LANGUAGE LANG_CATALAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Czech resource file
* TRANSLATOR:
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: German resource file
* TRANSLATOR:
*/
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Greek resource file
* TRANSLATOR:
*/
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: English (United States) resource file
* TRANSLATOR: Copyright 2021 He Yang <1160386205@qq.com>
*/
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Spanish resource file
* TRANSLATOR:
*/
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Estonian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_ESTONIAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: French resource file
* TRANSLATOR:
*/
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Italian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Lithuanian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Norwegian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,27 +1,20 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Polish resource file
* TRANSLATOR: Copyright 2023 Piotr Hetnarowicz <piotrhwz@gmail.com>
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE, "Usage: TASKLIST [/?] [/NH]\n"
IDS_DESCRIPTION, "\n\
Opis:\
To narzędzie wyświetla listę aktualnie uruchomionych procesów\n\
na komputerze.\n"
IDS_OPTION_TOO_MUCH, "Błąd: Nieprawidłowa składnia. Opcja '%1' nie jest dozwolona więcej niż '%2!d!' raz(y).\n"
IDS_INVALID_SYNTAX, "Błąd: Nieprawidłowa składnia.\n"
IDS_INVALID_OPTION, "Błąd: Określono nieznaną lub nieprawidłową opcję wiersza polecenia.\n"
IDS_ENUM_FAILED, "Błąd: Nie można wyliczyć listy procesów.\n"
IDS_OUT_OF_MEMORY, "Błąd: Brak pamięci.\n"
IDS_HEADER_IMAGENAME, "Nazwa obrazu"
Desciption:\
This tool displays a list of currently running processes on\n\
the machine.\n"
IDS_OPTION_TOO_MUCH, "Error: Invalid syntax. '%1' option is not allowed more than '%2!d!' time(s).\n"
IDS_INVALID_SYNTAX, "Error: Invalid syntax.\n"
IDS_INVALID_OPTION, "Error: Unknown or invalid command line option specified.\n"
IDS_ENUM_FAILED, "Error: Unable to enumerate the process list.\n"
IDS_OUT_OF_MEMORY, "Error: Out of memory.\n"
IDS_HEADER_IMAGENAME, "Image Name"
IDS_HEADER_PID, "PID"
IDS_HEADER_SESSION, "Nr Sesji#"
IDS_HEADER_MEMUSAGE, "Użycie pam."
IDS_HEADER_SESSION, "Session#"
IDS_HEADER_MEMUSAGE, "Mem Usage"
IDS_MEMORY_STR, "%s K"
END

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Portuguese (Brazilian) resource file
* TRANSLATOR:
*/
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,27 +1,20 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATOR: Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE, "Utilizare: TASKLIST [/?] [/NH]\n"
IDS_USAGE, "Usage: TASKLIST [/?] [/NH]\n"
IDS_DESCRIPTION, "\n\
Descriere:\
Acest instrument afișează o listă a proceselor curente din\n\
calculator.\n"
IDS_OPTION_TOO_MUCH, "Eroare: Sintaxă nevalidă. Opțiunea '%1' nu este permisă mai mult de '%2!d!' singură dată (ori).\n"
IDS_INVALID_SYNTAX, "Eroare: Sintaxă nevalidă.\n"
IDS_INVALID_OPTION, "Eroare: Opțiune de linie de comandă specificată necunoscută sau nevalidă.\n"
IDS_ENUM_FAILED, "Eroare: Nu poate fi enumerată lista de procese.\n"
IDS_OUT_OF_MEMORY, "Eroare: Fără memorie.\n"
IDS_HEADER_IMAGENAME, "Numele imaginii"
Desciption:\
This tool displays a list of currently running processes on\n\
the machine.\n"
IDS_OPTION_TOO_MUCH, "Error: Invalid syntax. '%1' option is not allowed more than '%2!d!' time(s).\n"
IDS_INVALID_SYNTAX, "Error: Invalid syntax.\n"
IDS_INVALID_OPTION, "Error: Unknown or invalid command line option specified.\n"
IDS_ENUM_FAILED, "Error: Unable to enumerate the process list.\n"
IDS_OUT_OF_MEMORY, "Error: Out of memory.\n"
IDS_HEADER_IMAGENAME, "Image Name"
IDS_HEADER_PID, "PID"
IDS_HEADER_SESSION, "Sesiune#"
IDS_HEADER_MEMUSAGE, "Uz mem."
IDS_HEADER_SESSION, "Session#"
IDS_HEADER_MEMUSAGE, "Mem Usage"
IDS_MEMORY_STR, "%s K"
END

View File

@@ -15,11 +15,11 @@ BEGIN
Описание:\
Этот инструмент отображает список процессов, запущенных на\n\
этой машине.\n"
IDS_OPTION_TOO_MUCH, "Ошибка: Неверный синтаксис. Нельзя использовать опцию '%1' больше '%2!d!' раз(а).\n"
IDS_INVALID_SYNTAX, "Ошибка: Неверный синтаксис.\n"
IDS_INVALID_OPTION, "Ошибка: Неизвестный или неправильный параметр командной строки.\n"
IDS_ENUM_FAILED, "Ошибка: Не удалось отобразить список процессов.\n"
IDS_OUT_OF_MEMORY, "Ошибка: Недостаточно памяти.\n"
IDS_OPTION_TOO_MUCH, "Ошибка: неверный синтаксис. Нельзя использовать опцию '%1' больше '%2!d!' раз(а).\n"
IDS_INVALID_SYNTAX, "Ошибка: неверный синтаксис.\n"
IDS_INVALID_OPTION, "Ошибка: неизвестный или неправильный параметр командной строки.\n"
IDS_ENUM_FAILED, "Ошибка: не удалось отобразить список процессов.\n"
IDS_OUT_OF_MEMORY, "Ошибка: недостаточно памяти.\n"
IDS_HEADER_IMAGENAME, "Имя образа"
IDS_HEADER_PID, "PID"
IDS_HEADER_SESSION, "Сессия №"

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Slovak resource file
* TRANSLATOR:
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Albanian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Swedish resource file
* TRANSLATOR:
*/
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Turkish resource file
* TRANSLATOR: Copyright 2021 Süleyman Poyraz <zaryob.dev@gmail.com>
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Ukrainian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,9 +1,4 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATOR: Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
// Chinese Traditional (zh-TW) resources by Chan Chilung <eason066@gmail.com> 2021
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Displays a list of currently running processes on the computer.
* COPYRIGHT: Copyright 2021 He Yang <1160386205@qq.com>
* COPYRIGHT: Copyright 2021 He Yang (1160386205@qq.com)
*/
#include "tasklist.h"

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Displays a list of currently running processes on the computer.
* COPYRIGHT: Copyright 2020 He Yang <1160386205@qq.com>
* COPYRIGHT: Copyright 2020 He Yang (1160386205@qq.com)
*/
#pragma once

View File

@@ -54,15 +54,15 @@
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_SK_SK
#include "lang/sk-SK.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_SQ_AL
#include "lang/sq-AL.rc"
#endif

View File

@@ -18,6 +18,7 @@ GetFileModifyTime(LPCWSTR pFullPath, WCHAR * szTime, int szTimeSize)
FILETIME AccessTime;
SYSTEMTIME SysTime, LocalTime;
UINT Length;
TIME_ZONE_INFORMATION TimeInfo;
hFile = CreateFileW(pFullPath, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
if (!hFile)
@@ -30,10 +31,13 @@ GetFileModifyTime(LPCWSTR pFullPath, WCHAR * szTime, int szTimeSize)
}
CloseHandle(hFile);
if(!GetTimeZoneInformation(&TimeInfo))
return FALSE;
if (!FileTimeToSystemTime(&AccessTime, &SysTime))
return FALSE;
if (!SystemTimeToTzSpecificLocalTime(NULL, &SysTime, &LocalTime))
if (!SystemTimeToTzSpecificLocalTime(&TimeInfo, &SysTime, &LocalTime))
return FALSE;
Length = GetDateFormatW(LOCALE_USER_DEFAULT, DATE_SHORTDATE, &LocalTime, NULL, szTime, szTimeSize);

View File

@@ -9,9 +9,9 @@ CAPTION "Programa de diagnóstico de ReactX"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Tab1", IDC_TAB_CONTROL, "SysTabControl32", WS_TABSTOP, 2, 2, 474, 250
PUSHBUTTON "Ay&uda", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "Ay&uda", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Siguiente página", IDC_BUTTON_NEXT, 107, 260, 80, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Guardar toda la información...", IDC_BUTTON_SAVE_INFO, 201, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "&Guardar toda la información...", IDC_BUTTON_SAVE_INFO, 201, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "Sa&lir", IDC_BUTTON_EXIT, 323, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END

View File

@@ -9,9 +9,9 @@ CAPTION "ReactX 분석 도구"
FONT 9, "굴림"
BEGIN
CONTROL "Tab1", IDC_TAB_CONTROL, "SysTabControl32", WS_TABSTOP, 2, 2, 474, 250
PUSHBUTTON "도움말(&H)", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "도움말(&H)", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "다음 장(&N)", IDC_BUTTON_NEXT, 257, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "모든 정보 저장(&S)...", IDC_BUTTON_SAVE_INFO, 311, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "모든 정보 저장(&S)...", IDC_BUTTON_SAVE_INFO, 311, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "종료(&E)", IDC_BUTTON_EXIT, 425, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END

View File

@@ -7,9 +7,9 @@ CAPTION "Diagnostisch hulpprogramma voor ReactX"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Tab1", IDC_TAB_CONTROL, "SysTabControl32", WS_TABSTOP, 2, 2, 474, 250
PUSHBUTTON "&Help", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "&Help", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Volgende Pagina", IDC_BUTTON_NEXT, 257, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Alle gegevens opslaan...", IDC_BUTTON_SAVE_INFO, 311, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "&Alle gegevens opslaan...", IDC_BUTTON_SAVE_INFO, 311, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Afsluiten", IDC_BUTTON_EXIT, 425, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END

View File

@@ -7,9 +7,9 @@ CAPTION "ReactX-diagnose program"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Tab1", IDC_TAB_CONTROL, "SysTabControl32", WS_TABSTOP, 2, 2, 474, 250
PUSHBUTTON "&Hjelp", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "&Hjelp", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Neste side", IDC_BUTTON_NEXT, 257, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Lagre alt informasjon...", IDC_BUTTON_SAVE_INFO, 311, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "&Lagre alt informasjon...", IDC_BUTTON_SAVE_INFO, 311, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Avslutt", IDC_BUTTON_EXIT, 425, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END

Some files were not shown because too many files have changed in this diff Show More