Compare commits

..

1 Commits

Author SHA1 Message Date
Joachim Henze
442898a452 [SHELL32] Use 1996 as birth year in IDD_ABOUT
We do use the birth year 1996 instead of 1998
within our msgina pictures already,
and also within the [SDK] for autogenerated file-info.

Since SHELL32 IDD_ABOUT is used by many applications
it makes sense to harmonize with that.

Beside that, strip some redundancy from the headers.
2023-07-16 16:29:31 +02:00
1696 changed files with 27243 additions and 79320 deletions

View File

@@ -8,12 +8,6 @@ jobs:
compiler: [gcc, clang] compiler: [gcc, clang]
arch: [i386, amd64] arch: [i386, amd64]
config: [Debug, Release] config: [Debug, Release]
dllver: ['0x502', '0x600']
exclude:
- dllver: 0x600
compiler: clang
- dllver: 0x600
config: Release
fail-fast: false fail-fast: false
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -21,12 +15,12 @@ jobs:
id: get_rosbe_spec id: get_rosbe_spec
run: | run: |
gcc -march=native -Q --help=target | grep "\-march= " | awk '{print $NF}' 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 ::set-output name=march-sha::$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}')
echo git-sha=$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}') >> $GITHUB_OUTPUT 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 wget https://gist.githubusercontent.com/zefklop/b2d6a0b470c70183e93d5285a03f5899/raw/build_rosbe_ci.sh
- name: Get RosBE - name: Get RosBE
id: get_rosbe id: get_rosbe
uses: actions/cache@v3 uses: actions/cache@v2
with: with:
path: RosBE-CI 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')}} 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 sudo ./llvm.sh $LLVM_VERSION
echo "D_CLANG_VERSION=-DCLANG_VERSION=$LLVM_VERSION" >> $GITHUB_ENV echo "D_CLANG_VERSION=-DCLANG_VERSION=$LLVM_VERSION" >> $GITHUB_ENV
- name: Source checkout - name: Source checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
with: with:
path: src path: src
- name: Set up cache for ccache - name: Set up cache for ccache
uses: actions/cache@v3 uses: actions/cache@v2
with: with:
path: ccache path: ccache
key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
@@ -66,7 +60,7 @@ jobs:
if: ${{ matrix.compiler == 'gcc' }} if: ${{ matrix.compiler == 'gcc' }}
run: echo "CCACHE_COMPILERCHECK=string:${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}" >> $GITHUB_ENV run: echo "CCACHE_COMPILERCHECK=string:${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}" >> $GITHUB_ENV
- name: Configure - 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 - name: Build
run: echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}} run: echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Generate ISOs - name: Generate ISOs
@@ -74,9 +68,9 @@ jobs:
- name: Print ccache statistics - name: Print ccache statistics
run: ccache -s run: ccache -s
- name: Upload ISOs - name: Upload ISOs
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: with:
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}} name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: | path: |
build/bootcd.iso build/bootcd.iso
build/livecd.iso build/livecd.iso
@@ -88,7 +82,6 @@ jobs:
toolset: ['14.2', '14.1', '14.0'] # VS 2019, 2017, and 2015 (see below) toolset: ['14.2', '14.1', '14.0'] # VS 2019, 2017, and 2015 (see below)
arch: [i386, amd64] arch: [i386, amd64]
config: [Debug, Release] config: [Debug, Release]
dllver: ['0x502', '0x600']
exclude: # VS 2019, 2017 only with windows-latest; VS 2015 only with windows-2019 exclude: # VS 2019, 2017 only with windows-latest; VS 2015 only with windows-2019
- os: windows-2019 - os: windows-2019
toolset: '14.2' toolset: '14.2'
@@ -96,14 +89,6 @@ jobs:
toolset: '14.1' toolset: '14.1'
- os: windows-latest - os: windows-latest
toolset: '14.0' 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 fail-fast: false
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
steps: steps:
@@ -129,27 +114,27 @@ jobs:
arch: amd64 arch: amd64
toolset: ${{matrix.toolset}} toolset: ${{matrix.toolset}}
- name: Source checkout - name: Source checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
with: with:
path: src path: src
- name: Configure - 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 - name: Build
run: cmake --build build -- -k0 run: cmake --build build -- -k0
- name: Generate ISOs - name: Generate ISOs
run: cmake --build build --target bootcd --target livecd run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs - name: Upload ISOs
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: 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: | path: |
build/bootcd.iso build/bootcd.iso
build/livecd.iso build/livecd.iso
- name: Upload debug symbols - name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }} if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: 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 path: build/msvc_pdb
build-msvc-arm: build-msvc-arm:
@@ -183,7 +168,7 @@ jobs:
arch: amd64_arm64 arch: amd64_arm64
toolset: ${{matrix.toolset}} toolset: ${{matrix.toolset}}
- name: Source checkout - name: Source checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
with: with:
path: src path: src
- name: Configure - name: Configure
@@ -197,21 +182,17 @@ jobs:
- name: Build rosapps - name: Build rosapps
if: ${{ matrix.arch == 'arm' }} if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target modules/rosapps/all 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) - name: Build some applications (arm64)
if: ${{ matrix.arch == 'arm64' }} if: ${{ matrix.arch == 'arm64' }}
run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0 run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0
- name: Upload compiled binaries - name: Upload compiled binaries
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: | path: |
build/base build/base
build/dll/cpl build/dll/cpl
build/modules/rosapps build/modules/rosapps
build/subsystems
!**/CMakeFiles !**/CMakeFiles
!**/cmake_install.cmake !**/cmake_install.cmake
!**/*.asm !**/*.asm
@@ -227,7 +208,7 @@ jobs:
!**/*.tlb !**/*.tlb
- name: Upload debug symbols - name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }} if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: with:
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb path: build/msvc_pdb
@@ -268,7 +249,7 @@ jobs:
- name: Add LLVM to PATH - name: Add LLVM to PATH
run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Source checkout - name: Source checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
with: with:
path: src path: src
- name: Configure - name: Configure
@@ -278,7 +259,7 @@ jobs:
- name: Generate ISOs - name: Generate ISOs
run: cmake --build build --target bootcd --target livecd run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs - name: Upload ISOs
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: with:
name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: | path: |
@@ -286,7 +267,7 @@ jobs:
build/livecd.iso build/livecd.iso
- name: Upload debug symbols - name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }} if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v2
with: with:
name: reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}} name: reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb path: build/msvc_pdb
@@ -307,7 +288,7 @@ jobs:
# uses: ilammy/msvc-dev-cmd@v1 # uses: ilammy/msvc-dev-cmd@v1
# with: # with:
# arch: amd64_x86 # arch: amd64_x86
# - uses: actions/checkout@v3 # - uses: actions/checkout@v2
# with: # with:
# path: src # path: src
# - name: Configure # - name: Configure

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_WINNT=0x502
-D_WIN32_WINDOWS=0x502 -D_WIN32_WINDOWS=0x502
-D_SETUPAPI_VER=0x502 -D_SETUPAPI_VER=0x502
-DMINGW_HAS_SECURE_API=1 -DMINGW_HAS_SECURE_API=1)
-DDLL_EXPORT_VERSION=${DLL_EXPORT_VERSION})
# Arch Options # Arch Options
if(ARCH STREQUAL "i386") if(ARCH STREQUAL "i386")
@@ -336,12 +335,14 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
add_subdirectory(sdk/include/reactos/mc) add_subdirectory(sdk/include/reactos/mc)
add_subdirectory(sdk/include/asm) add_subdirectory(sdk/include/asm)
if(ARCH MATCHES "64$") if(NO_ROSSYM)
include(sdk/cmake/baseaddress64.cmake)
elseif(NO_ROSSYM)
include(sdk/cmake/baseaddress_dwarf.cmake) include(sdk/cmake/baseaddress_dwarf.cmake)
elseif(MSVC) elseif(MSVC)
include(sdk/cmake/baseaddress_msvc.cmake) if (ARCH STREQUAL "amd64")
include(sdk/cmake/baseaddress_msvc_x64.cmake)
else()
include(sdk/cmake/baseaddress_msvc.cmake)
endif()
else() else()
include(sdk/cmake/baseaddress.cmake) include(sdk/cmake/baseaddress.cmake)
endif() endif()

View File

@@ -63,19 +63,13 @@ Our commit style is defined in a __[commit template]__. Use it as a reference or
### Rules and Recommendations ### Rules and Recommendations
- *Use your __real name__ and __real email__.* We do not accept anonymous code contributions! - *Use your __real name__ and __real email__.* We do not accept anonymous 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].
- *Ensure your contribution is properly described.* Include the relevant issue number if applicable. - *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. - *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. - *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. - *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]__.* - *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). 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/> - 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> - 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> - 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 [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/ [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 [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/ [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 [tips for reviewing patches]: https://www.drupal.org/patch/review
[missing functionality]: https://reactos.org/wiki/Missing_ReactOS_Functionality [missing functionality]: https://reactos.org/wiki/Missing_ReactOS_Functionality
[patch]: https://git-scm.com/docs/git-format-patch [patch]: https://git-scm.com/docs/git-format-patch
[Submitting Patches]: https://reactos.org/wiki/Submitting_Patches [Submitting Patches]: https://reactos.org/wiki/Submitting_Patches
[Coding Style]: https://reactos.org/wiki/Coding_Style [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 [Programming Guidelines]: https://reactos.org/wiki/Programming_Guidelines
[3rd Party Files.txt]: /media/doc/3rd_Party_Files.txt [3rd Party Files.txt]: /media/doc/3rd_Party_Files.txt
[README.WINE]: /media/doc/README.WINE [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 - Asking the contributor to do unrelated work
- Closing without providing a reason - Closing without providing a reason
- Merging with the intention to rewrite that code soon after - 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 #define WIN32_LEAN_AND_MEAN
#include <windows.h> #include <windows.h>
@@ -15,7 +16,6 @@
#include <htmlhelp.h> #include <htmlhelp.h>
#endif #endif
#include <limits.h> #include <limits.h>
#include <strsafe.h>
/* RESOURCES */ /* RESOURCES */
#include "resource.h" #include "resource.h"
@@ -280,3 +280,5 @@ INT_PTR CALLBACK AboutDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
void ConvExecute(HWND hWnd); void ConvExecute(HWND hWnd);
void ConvAdjust(HWND hWnd, int n_cat); void ConvAdjust(HWND hWnd, int n_cat);
void ConvInit(HWND hWnd); void ConvInit(HWND hWnd);
#endif /* __CALC_H__ */

View File

@@ -8,7 +8,7 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калкулатор за ReactOS" CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -156,7 +156,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калкулатор за ReactOS" CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -221,7 +221,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калкулатор за ReactOS" CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -7,7 +7,7 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS kalkulačka" CAPTION "ReactOS kalkulačka"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -155,7 +155,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulačka" CAPTION "ReactOS Kalkulačka"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -220,7 +220,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulačka" CAPTION "ReactOS Kalkulačka"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner" CAPTION "ReactOS Rechner"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner" CAPTION "ReactOS Rechner"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner" CAPTION "ReactOS Rechner"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή" CAPTION "Αριθμομηχανή"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή" CAPTION "Αριθμομηχανή"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή" CAPTION "Αριθμομηχανή"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator" CAPTION "ReactOS Calculator"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator" CAPTION "ReactOS Calculator"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator" CAPTION "ReactOS Calculator"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -8,7 +8,7 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS" CAPTION "Calculadora de ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -156,7 +156,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS" CAPTION "Calculadora de ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -221,7 +221,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS" CAPTION "Calculadora de ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS" CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS" CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS" CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS" CAPTION "מחשבון ReactOS"
@@ -153,7 +153,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS" CAPTION "מחשבון ReactOS"
@@ -219,7 +219,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS" CAPTION "מחשבון ReactOS"

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép" CAPTION "ReactOS Számológép"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép" CAPTION "ReactOS Számológép"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép" CAPTION "ReactOS Számológép"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS" CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -157,7 +157,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS" CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -222,7 +222,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS" CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS" CAPTION "Calcolatrice ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS" CAPTION "Calcolatrice ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS" CAPTION "Calcolatrice ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓" CAPTION "ReactOS 電卓"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓" CAPTION "ReactOS 電卓"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓" CAPTION "ReactOS 電卓"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기" CAPTION "ReactOS 계산기"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기" CAPTION "ReactOS 계산기"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기 정보" CAPTION "ReactOS 계산기 정보"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine" CAPTION "ReactOS Rekenmachine"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine" CAPTION "ReactOS Rekenmachine"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine" CAPTION "ReactOS Rekenmachine"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator" CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator" CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator" CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -11,7 +11,7 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS" CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -159,7 +159,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS" CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -224,7 +224,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS" CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS" CAPTION "Calculadora ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS" CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS" CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS" CAPTION "Calculadora ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS" CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS" CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -11,7 +11,7 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Minicalculator" CAPTION "Minicalculator"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -159,7 +159,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Minicalculator" CAPTION "Minicalculator"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -224,7 +224,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Minicalculator" CAPTION "Minicalculator"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS" CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS" CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS" CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -429,8 +429,8 @@ END
/* Angles */ /* Angles */
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_ANGLE_ARCMINUTES "Угловая минута" IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Угловая секунда" IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "градус" IDS_ANGLE_DEGREES "градус"
IDS_ANGLE_GRADIANS "град" IDS_ANGLE_GRADIANS "град"
IDS_ANGLE_RADIANS "радиан" IDS_ANGLE_RADIANS "радиан"

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS" CAPTION "Kalkulačka systému ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -157,7 +157,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS" CAPTION "Kalkulačka systému ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -222,7 +222,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS" CAPTION "Kalkulačka systému ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -6,7 +6,7 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje" CAPTION "ReactOS Makine Llogaritje"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -154,7 +154,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje" CAPTION "ReactOS Makine Llogaritje"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -219,7 +219,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje" CAPTION "ReactOS Makine Llogaritje"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator" CAPTION "ReactOS Kalkylator"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -157,7 +157,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator" CAPTION "ReactOS Kalkylator"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -222,7 +222,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator" CAPTION "ReactOS Kalkylator"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_THAI, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "เครื่องคิดเลข ReactOS" CAPTION "เครื่องคิดเลข ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "สถานภาพทั่วไป" CAPTION "สถานภาพทั่วไป"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "เครื่องคิดเลข ReactOS" CAPTION "เครื่องคิดเลข ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -7,7 +7,7 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi" CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -155,7 +155,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi" CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -220,7 +220,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi" CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS" CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS" CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS" CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器" CAPTION "ReactOS 计算器"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器" CAPTION "ReactOS 计算器"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器" CAPTION "ReactOS 计算器"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機" CAPTION "ReactOS 計數機"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機" CAPTION "ReactOS 計數機"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機" CAPTION "ReactOS 計數機"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
/* Dialogs */ /* 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機" CAPTION "ReactOS 計算機"
MENU IDR_MENU_SCIENTIFIC_1 MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機" CAPTION "ReactOS 計算機"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END 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 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機" CAPTION "ReactOS 計算機"
MENU IDR_MENU_STANDARD MENU IDR_MENU_STANDARD

View File

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

View File

@@ -19,7 +19,7 @@
*/ */
#include <windef.h> #include <windef.h>
#include <winuser.rh> #include <winuser.h>
#include "resource.h" #include "resource.h"

View File

@@ -27,7 +27,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
switch (base) { switch (base) {
case IDC_RADIO_HEX: case IDC_RADIO_HEX:
StringCchPrintf(buffer, size, _T("%I64X"), rpn->i); _stprintf(buffer, _T("%I64X"), rpn->i);
break; break;
case IDC_RADIO_DEC: case IDC_RADIO_DEC:
/* /*
@@ -40,11 +40,11 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
/* calculate the width of integer number */ /* calculate the width of integer number */
width = (rpn->f==0) ? 1 : (int)log10(fabs(rpn->f))+1; width = (rpn->f==0) ? 1 : (int)log10(fabs(rpn->f))+1;
if (calc.sci_out == TRUE || width > MAX_LD_WIDTH || width < -MAX_LD_WIDTH) if (calc.sci_out == TRUE || width > MAX_LD_WIDTH || width < -MAX_LD_WIDTH)
StringCchPrintf(buffer, size, _T("%#.*e"), MAX_LD_WIDTH-1, rpn->f); _stprintf(buffer, _T("%#.*e"), MAX_LD_WIDTH-1, rpn->f);
else { else {
TCHAR *ptr, *dst; TCHAR *ptr, *dst;
StringCchPrintfEx(buffer, size, &ptr, NULL, 0, _T("%#*.*f"), width, ((MAX_LD_WIDTH-width-1)>=0) ? MAX_LD_WIDTH-width-1 : 0, rpn->f); ptr = buffer + _stprintf(buffer, _T("%#*.*f"), width, ((MAX_LD_WIDTH-width-1)>=0) ? MAX_LD_WIDTH-width-1 : 0, rpn->f);
/* format string ensures there is a '.': */ /* format string ensures there is a '.': */
dst = _tcschr(buffer, _T('.')); dst = _tcschr(buffer, _T('.'));
while (--ptr > dst) while (--ptr > dst)
@@ -61,7 +61,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
#undef MAX_LD_WIDTH #undef MAX_LD_WIDTH
break; break;
case IDC_RADIO_OCT: case IDC_RADIO_OCT:
StringCchPrintf(buffer, size, _T("%I64o"), rpn->i); _stprintf(buffer, _T("%I64o"), rpn->i);
break; break;
case IDC_RADIO_BIN: case IDC_RADIO_BIN:
if (rpn->i == 0) { if (rpn->i == 0) {

View File

@@ -107,7 +107,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
} }
mpz_clear(zz); mpz_clear(zz);
mpf_clear(ff); mpf_clear(ff);
StringCchPrintf(buffer, size, _T("%hs"), temp); _sntprintf(buffer, SIZEOF(calc.buffer), _T("%hs"), temp);
} }
void convert_text2number_2(calc_number_t *a) void convert_text2number_2(calc_number_t *a)

View File

@@ -254,10 +254,10 @@ static void UpdateNumberIntl(void)
{ {
/* Get current user defaults */ /* Get current user defaults */
if (!GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, calc.sDecimal, SIZEOF(calc.sDecimal))) if (!GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, calc.sDecimal, SIZEOF(calc.sDecimal)))
StringCbCopy(calc.sDecimal, sizeof(calc.sDecimal), _T(".")); _tcscpy(calc.sDecimal, _T("."));
if (!GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, calc.sThousand, SIZEOF(calc.sThousand))) if (!GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, calc.sThousand, SIZEOF(calc.sThousand)))
StringCbCopy(calc.sThousand, sizeof(calc.sThousand), _T(",")); _tcscpy(calc.sThousand, _T(","));
/* get the string lengths */ /* get the string lengths */
calc.sDecimal_len = _tcslen(calc.sDecimal); calc.sDecimal_len = _tcslen(calc.sDecimal);
@@ -342,7 +342,7 @@ static void save_config(void)
switch (osvi.dwPlatformId) { switch (osvi.dwPlatformId) {
case VER_PLATFORM_WIN32s: case VER_PLATFORM_WIN32s:
case VER_PLATFORM_WIN32_WINDOWS: case VER_PLATFORM_WIN32_WINDOWS:
StringCbPrintf(buf, sizeof(buf), _T("%lu"), calc.layout); _stprintf(buf, _T("%lu"), calc.layout);
WriteProfileString(_T("SciCalc"), _T("layout"), buf); WriteProfileString(_T("SciCalc"), _T("layout"), buf);
WriteProfileString(_T("SciCalc"), _T("UseSep"), (calc.usesep==TRUE) ? _T("1") : _T("0")); WriteProfileString(_T("SciCalc"), _T("UseSep"), (calc.usesep==TRUE) ? _T("1") : _T("0"));
break; break;
@@ -496,16 +496,16 @@ static void update_lcd_display(HWND hwnd)
TCHAR tmp[MAX_CALC_SIZE * 2 + 2]; TCHAR tmp[MAX_CALC_SIZE * 2 + 2];
if (calc.buffer[0] == _T('\0')) if (calc.buffer[0] == _T('\0'))
StringCbCopy(tmp, sizeof(tmp), _T("0")); _tcscpy(tmp, _T("0"));
else else
StringCbCopy(tmp, sizeof(tmp), calc.buffer); _tcscpy(tmp, calc.buffer);
/* Add final '.' in decimal mode (if it's missing), but /* Add final '.' in decimal mode (if it's missing), but
* only if it's a result: no append if it prints "ERROR". * only if it's a result: no append if it prints "ERROR".
*/ */
if (calc.base == IDC_RADIO_DEC && !calc.is_nan) { if (calc.base == IDC_RADIO_DEC && !calc.is_nan) {
if (_tcschr(tmp, _T('.')) == NULL) if (_tcschr(tmp, _T('.')) == NULL)
StringCbCat(tmp, sizeof(tmp), _T(".")); _tcscat(tmp, _T("."));
} }
/* if separator mode is on, let's add an additional space */ /* if separator mode is on, let's add an additional space */
if (calc.usesep && !calc.sci_in && !calc.sci_out && !calc.is_nan) { if (calc.usesep && !calc.sci_in && !calc.sci_out && !calc.is_nan) {
@@ -573,14 +573,13 @@ static void update_parent_display(HWND hWnd)
if (!n) if (!n)
str[0] = _T('\0'); str[0] = _T('\0');
else else
StringCbPrintf(str, sizeof(str), _T("(=%d"), n); _stprintf(str,_T("(=%d"), n);
SetDlgItemText(hWnd, IDC_TEXT_PARENT, str); SetDlgItemText(hWnd, IDC_TEXT_PARENT, str);
} }
static void build_operand(HWND hwnd, DWORD idc) static void build_operand(HWND hwnd, DWORD idc)
{ {
unsigned int i = 0, n; unsigned int i = 0, n;
size_t cbPtr;
if (idc == IDC_BUTTON_DOT) { if (idc == IDC_BUTTON_DOT) {
/* if dot is the first char, it's added automatically */ /* if dot is the first char, it's added automatically */
@@ -618,14 +617,12 @@ static void build_operand(HWND hwnd, DWORD idc)
if (idc != IDC_STATIC) if (idc != IDC_STATIC)
calc.esp = (calc.esp * 10 + (key2code[i].key-'0')) % LOCAL_EXP_SIZE; calc.esp = (calc.esp * 10 + (key2code[i].key-'0')) % LOCAL_EXP_SIZE;
if (calc.ptr == calc.buffer) if (calc.ptr == calc.buffer)
StringCbPrintf(calc.ptr, sizeof(calc.buffer), _T("0.e%+d"), calc.esp); _stprintf(calc.ptr, _T("0.e%+d"), calc.esp);
else { else {
/* adds the dot at the end if the number has no decimal part */ /* adds the dot at the end if the number has no decimal part */
if (!_tcschr(calc.buffer, _T('.'))) if (!_tcschr(calc.buffer, _T('.')))
*calc.ptr++ = _T('.'); *calc.ptr++ = _T('.');
_stprintf(calc.ptr, _T("e%+d"), calc.esp);
cbPtr = sizeof(calc.buffer) - ((BYTE*)calc.ptr - (BYTE*)calc.buffer);
StringCbPrintf(calc.ptr, cbPtr, _T("e%+d"), calc.esp);
} }
update_lcd_display(hwnd); update_lcd_display(hwnd);
return; return;
@@ -640,11 +637,7 @@ static void build_operand(HWND hwnd, DWORD idc)
return; return;
break; break;
} }
calc.ptr += _stprintf(calc.ptr, _T("%C"), key2code[i].key);
cbPtr = sizeof(calc.buffer) - ((BYTE*)calc.ptr - (BYTE*)calc.buffer);
StringCbPrintfEx(calc.ptr, cbPtr, &calc.ptr, NULL, STRSAFE_FILL_ON_FAILURE,
_T("%C"), key2code[i].key);
update_lcd_display(hwnd); update_lcd_display(hwnd);
} }
@@ -857,11 +850,11 @@ static void update_memory_flag(HWND hWnd, BOOL mem_flag)
SetDlgItemText(hWnd, IDC_TEXT_MEMORY, mem_flag ? _T("M") : _T("")); SetDlgItemText(hWnd, IDC_TEXT_MEMORY, mem_flag ? _T("M") : _T(""));
} }
static void update_n_stats_items(HWND hWnd, TCHAR *buffer, size_t cbBuffer) static void update_n_stats_items(HWND hWnd, TCHAR *buffer)
{ {
unsigned int n = SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0); unsigned int n = SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
StringCbPrintf(buffer, cbBuffer, _T("n=%u"), n); _stprintf(buffer, _T("n=%u"), n);
SetDlgItemText(hWnd, IDC_TEXT_NITEMS, buffer); SetDlgItemText(hWnd, IDC_TEXT_NITEMS, buffer);
} }
@@ -912,7 +905,7 @@ static char *ReadConversion(const char *formula)
str[len+1] = ')'; str[len+1] = ')';
str[len+2] = '\0'; str[len+2] = '\0';
StringCbCopy(calc.source, sizeof(calc.source), (*calc.buffer == _T('\0')) ? _T("0") : calc.buffer); _tcscpy(calc.source, (*calc.buffer == _T('\0')) ? _T("0") : calc.buffer);
/* clear display content before proceeding */ /* clear display content before proceeding */
calc.ptr = calc.buffer; calc.ptr = calc.buffer;
@@ -949,13 +942,13 @@ static INT_PTR CALLBACK DlgStatProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
if (n == LB_ERR) if (n == LB_ERR)
return TRUE; return TRUE;
SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_DELETESTRING, (WPARAM)n, 0); SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_DELETESTRING, (WPARAM)n, 0);
update_n_stats_items(hWnd, buffer, sizeof(buffer)); update_n_stats_items(hWnd, buffer);
delete_stat_item(n); delete_stat_item(n);
return TRUE; return TRUE;
case IDC_BUTTON_CAD: case IDC_BUTTON_CAD:
SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_RESETCONTENT, 0, 0); SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_RESETCONTENT, 0, 0);
clean_stat_list(); clean_stat_list();
update_n_stats_items(hWnd, buffer, sizeof(buffer)); update_n_stats_items(hWnd, buffer);
return TRUE; return TRUE;
} }
break; break;
@@ -971,7 +964,7 @@ static INT_PTR CALLBACK DlgStatProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
buffer, SIZEOF(buffer), buffer, SIZEOF(buffer),
((statistic_t *)lp)->base); ((statistic_t *)lp)->base);
SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_ADDSTRING, 0, (LPARAM)buffer); SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_ADDSTRING, 0, (LPARAM)buffer);
update_n_stats_items(hWnd, buffer, sizeof(buffer)); update_n_stats_items(hWnd, buffer);
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
@@ -993,13 +986,11 @@ static void CopyMemToClipboard(void *ptr)
if(OpenClipboard(NULL)) { if(OpenClipboard(NULL)) {
HGLOBAL clipbuffer; HGLOBAL clipbuffer;
TCHAR *buffer; TCHAR *buffer;
size_t cbBuffer;
EmptyClipboard(); EmptyClipboard();
cbBuffer = (_tcslen(ptr) + 1) * sizeof(TCHAR); clipbuffer = GlobalAlloc(GMEM_DDESHARE, (_tcslen(ptr)+1)*sizeof(TCHAR));
clipbuffer = GlobalAlloc(GMEM_DDESHARE, cbBuffer);
buffer = (TCHAR *)GlobalLock(clipbuffer); buffer = (TCHAR *)GlobalLock(clipbuffer);
StringCbCopy(buffer, cbBuffer, ptr); _tcscpy(buffer, ptr);
GlobalUnlock(clipbuffer); GlobalUnlock(clipbuffer);
#ifdef UNICODE #ifdef UNICODE
SetClipboardData(CF_UNICODETEXT,clipbuffer); SetClipboardData(CF_UNICODETEXT,clipbuffer);
@@ -1065,8 +1056,9 @@ static char *handle_sequence_input(HWND hwnd, sequence_t *seq)
} }
} else } else
if (ch == '$') { if (ch == '$') {
StringCbCopyEx(calc.buffer, sizeof(calc.buffer), calc.source, &calc.ptr, NULL, calc.ptr =
STRSAFE_FILL_ON_FAILURE); _tcscpy(calc.buffer, calc.source) +
_tcslen(calc.source);
} else { } else {
for (x=0; x<SIZEOF(key2code); x++) { for (x=0; x<SIZEOF(key2code); x++) {
if (!(key2code[x].mask & BITMASK_IS_ASCII) || if (!(key2code[x].mask & BITMASK_IS_ASCII) ||
@@ -1953,9 +1945,9 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
hInstance, hInstance,
MAKEINTRESOURCE(IDI_CALC), MAKEINTRESOURCE(IDI_CALC),
IMAGE_ICON, IMAGE_ICON,
0, GetSystemMetrics(SM_CXICON),
0, GetSystemMetrics(SM_CYICON),
LR_DEFAULTSIZE | LR_SHARED); 0);
calc.hSmIcon = LoadImage( calc.hSmIcon = LoadImage(
hInstance, hInstance,
@@ -1963,7 +1955,7 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
IMAGE_ICON, IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON), GetSystemMetrics(SM_CYSMICON),
LR_SHARED); 0);
do { do {
/* ignore hwnd: dialogs are already visible! */ /* ignore hwnd: dialogs are already visible! */
@@ -1993,6 +1985,12 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
save_config(); save_config();
} while (calc.action != IDC_STATIC); } while (calc.action != IDC_STATIC);
if (calc.hBgIcon != NULL)
DestroyIcon(calc.hBgIcon);
if (calc.hSmIcon != NULL)
DestroyIcon(calc.hSmIcon);
stop_rpn_engine(); stop_rpn_engine();
Theme_Stop(); Theme_Stop();

View File

@@ -54,5 +54,5 @@ BEGIN
IDS_ABOUT "&О программе..." IDS_ABOUT "&О программе..."
IDS_TITLE "Таблица символов" IDS_TITLE "Таблица символов"
IDS_UNICODE "Unicode" IDS_UNICODE "Unicode"
IDS_ALL "Все" IDS_ALL "All"
END END

View File

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

View File

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

View File

@@ -164,8 +164,7 @@ UINT GetAutomaticClipboardFormat(void)
CF_DSPBITMAP, CF_DSPBITMAP,
CF_DSPMETAFILEPICT, CF_DSPMETAFILEPICT,
CF_DSPENHMETAFILE, CF_DSPENHMETAFILE,
CF_PALETTE, CF_PALETTE
CF_HDROP
}; };
return GetPriorityClipboardFormat(uFormatList, ARRAYSIZE(uFormatList)); 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

@@ -1,11 +1,4 @@
/* /* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
* PROJECT: ReactOS Clipboard
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
ID_ACCEL ACCELERATORS ID_ACCEL ACCELERATORS
@@ -18,7 +11,7 @@ BEGIN
POPUP "&Fișier" POPUP "&Fișier"
BEGIN BEGIN
MENUITEM "&Deschidere…", CMD_OPEN MENUITEM "&Deschidere…", CMD_OPEN
MENUITEM "S&alvează ca…", CMD_SAVE_AS MENUITEM "Păst&rare ca…", CMD_SAVE_AS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "I&eșire", CMD_EXIT MENUITEM "I&eșire", CMD_EXIT
END END

View File

@@ -331,45 +331,6 @@ void PlayEnhMetaFileFromClipboard(HDC hdc, const RECT *lpRect)
PlayEnhMetaFile(hdc, hEmf, 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 RealizeClipboardPalette(HDC hdc)
{ {
BOOL Success; 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 SetDIBitsToDeviceFromClipboard(UINT uFormat, PAINTSTRUCT ps, SCROLLSTATE state, UINT fuColorUse);
void PlayMetaFileFromClipboard(HDC hdc, const RECT *lpRect); void PlayMetaFileFromClipboard(HDC hdc, const RECT *lpRect);
void PlayEnhMetaFileFromClipboard(HDC hdc, const RECT *lpRect); void PlayEnhMetaFileFromClipboard(HDC hdc, const RECT *lpRect);
void HDropFromClipboard(HDC hdc, const RECT *lpRect);
BOOL RealizeClipboardPalette(HDC hdc); BOOL RealizeClipboardPalette(HDC hdc);

View File

@@ -31,7 +31,7 @@ id Порядковый номер запланированно
IDS_CONFIRM_YES "Y" IDS_CONFIRM_YES "Y"
IDS_CONFIRM_NO "N" IDS_CONFIRM_NO "N"
IDS_DELETE_ALL "Эта операция удалит все запланированные задачи.\n" IDS_DELETE_ALL "This operation will delete all scheduled jobs.\n"
IDS_NEW_JOB "Добавлено новое задание с ID = %lu\n" IDS_NEW_JOB "Добавлено новое задание с ID = %lu\n"
IDS_JOBS_LIST "Статус ID День Время Команда\n" IDS_JOBS_LIST "Статус ID День Время Команда\n"
IDS_NO_ENTRIES "В списке нет запланированных задач.\n" IDS_NO_ENTRIES "В списке нет запланированных задач.\n"

View File

@@ -1,10 +1,35 @@
/* /*
* PROJECT: ReactOS Attrib Command * ATTRIB.C - attrib internal 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> * History:
* Copyright 2021 Doug Lyons <douglyons@douglyons.com> *
* Copyright 2021-2023 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> * 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> #include <stdio.h>
@@ -14,22 +39,15 @@
#include <winbase.h> #include <winbase.h>
#include <wincon.h> #include <wincon.h>
#include <winuser.h> #include <winuser.h>
#include <strsafe.h>
#include <conutils.h> #include <conutils.h>
#include "resource.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); CON_SCREEN StdOutScreen = INIT_CON_SCREEN(StdOut);
static VOID static
VOID
ErrorMessage( ErrorMessage(
_In_ DWORD dwErrorCode, _In_ DWORD dwErrorCode,
_In_opt_ PCWSTR pszMsg, _In_opt_ PCWSTR pszMsg,
@@ -59,257 +77,217 @@ ErrorMessage(
ConPrintf(StdErr, L" %s\n", pszMsg); ConPrintf(StdErr, L" %s\n", pszMsg);
} }
/* Returns TRUE if anything is printed, FALSE otherwise */
/** static
* @brief Displays attributes for the given file. BOOL
* @return Always TRUE (success). PrintAttribute(
**/ LPWSTR pszPath,
static BOOL LPWSTR pszFile,
PrintAttributes( BOOL bRecurse,
_In_ PWIN32_FIND_DATAW pFindData, BOOL bDirectories)
_In_ PCWSTR pszFullName,
_Inout_opt_ PVOID Context)
{ {
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; 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; HANDLE hFind;
PWSTR findFileName = EnumCtx->findData.cFileName; WCHAR szFullName[MAX_PATH];
PWSTR pFilePart = EnumCtx->FullPathBuffer + offFilePart; LPWSTR pszFileName;
size_t cchRemaining = EnumCtx->cchBuffer - offFilePart; BOOL bFound = FALSE;
BOOL bIsDir;
BOOL bExactMatch;
DWORD Error;
/* Recurse over all subdirectories */ /* prepare full file name buffer */
if (EnumCtx->Flags & ENUM_RECURSE) wcscpy(szFullName, pszPath);
pszFileName = szFullName + wcslen(szFullName);
/* display all subdirectories */
if (bRecurse)
{ {
/* Append '*.*' */ /* append *.* */
hRes = StringCchCopyW(pFilePart, cchRemaining, ALL_FILES_PATTERN); wcscpy(pszFileName, L"*.*");
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;
}
hFind = FindFirstFileW(EnumCtx->FullPathBuffer, &EnumCtx->findData); hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE) if (hFind == INVALID_HANDLE_VALUE)
{ {
DWORD Error = GetLastError(); Error = GetLastError();
if ((Error != ERROR_DIRECTORY) && if ((Error != ERROR_DIRECTORY) && (Error != ERROR_SHARING_VIOLATION)
(Error != ERROR_SHARING_VIOLATION) && && (Error != ERROR_FILE_NOT_FOUND))
(Error != ERROR_FILE_NOT_FOUND))
{ {
ErrorMessage(Error, EnumCtx->FullPathBuffer); ErrorMessage(Error, pszFile);
} }
return FALSE; return FALSE;
} }
do do
{ {
BOOL bIsReparse; if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
size_t offNewFilePart;
if (!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
continue; continue;
if (!wcscmp(findFileName, L".") || !wcscmp(findFileName, L"..")) if (!wcscmp(findData.cFileName, L".") ||
continue; !wcscmp(findData.cFileName, L".."))
/* Allow at most 2 levels of reparse points / symbolic links */
bIsReparse = !!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT);
if (bIsReparse)
{ {
if (EnumCtx->uReparseLevel < 2) continue;
EnumCtx->uReparseLevel++;
else
continue;
} }
hRes = StringCchPrintfExW(pFilePart, cchRemaining, wcscpy(pszFileName, findData.cFileName);
NULL, &offNewFilePart, 0, wcscat(pszFileName, L"\\");
L"%s\\", findFileName); bFound |= PrintAttribute(szFullName, pszFile, bRecurse, bDirectories);
/* 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--;
} }
while (FindNextFileW(hFind, &EnumCtx->findData)); while (FindNextFileW(hFind, &findData));
FindClose(hFind); FindClose(hFind);
} }
/* Append the file name pattern to search for */ /* append file name */
hRes = StringCchCopyW(pFilePart, cchRemaining, EnumCtx->FileName); wcscpy(pszFileName, pszFile);
/* Search in the current directory */ /* search current directory */
hFind = FindFirstFileW(EnumCtx->FullPathBuffer, &EnumCtx->findData); hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE) if (hFind == INVALID_HANDLE_VALUE)
{
return bFound; return bFound;
}
do do
{ {
BOOL bIsDir = !!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY); bIsDir = findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
BOOL bExactMatch = (wcsicmp(findFileName, EnumCtx->FileName) == 0); bExactMatch = wcsicmp(findData.cFileName, pszFile) == 0;
if (bIsDir && !(EnumCtx->Flags & ENUM_DIRECTORIES) && !bExactMatch) if (bIsDir && !bDirectories && !bExactMatch)
continue; continue;
if (!wcscmp(findFileName, L".") || !wcscmp(findFileName, L"..")) if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue; continue;
}
/* If we recursively enumerate files excluding directories, wcscpy(pszFileName, findData.cFileName);
* exclude any directory from the enumeration. */
if (bIsDir && !(EnumCtx->Flags & ENUM_DIRECTORIES) && (EnumCtx->Flags & ENUM_RECURSE))
continue;
StringCchCopyW(pFilePart, cchRemaining, findFileName); ConPrintf(StdOut,
/* bFound = */ EnumCtx->Callback(&EnumCtx->findData, EnumCtx->FullPathBuffer, EnumCtx->Context); 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; bFound = TRUE;
} }
while (FindNextFileW(hFind, &EnumCtx->findData)); while (FindNextFileW(hFind, &findData));
FindClose(hFind); FindClose(hFind);
return bFound; return bFound;
} }
static BOOL
AttribEnumFiles( /* Returns TRUE if anything changed, FALSE otherwise */
_In_ PCWSTR pszPath, static
_In_ PCWSTR pszFile, BOOL
_In_ DWORD fFlags, ChangeAttribute(
_In_ PATTRIBS_MASKS AttribsMasks) LPWSTR pszPath,
LPWSTR pszFile,
BOOL bRecurse,
BOOL bDirectories,
DWORD dwMask,
DWORD dwAttrib)
{ {
ENUMFILES_CTX EnumContext = {0}; WIN32_FIND_DATAW findData;
size_t offFilePart; HANDLE hFind;
HRESULT hRes; WCHAR szFullName[MAX_PATH];
LPWSTR pszFileName;
BOOL bFound = FALSE;
BOOL bIsDir;
BOOL bExactMatch;
DWORD dwAttribute;
DWORD Error;
EnumContext.FileName = pszFile; /* prepare full file name buffer */
EnumContext.Flags = fFlags; wcscpy(szFullName, pszPath);
EnumContext.Callback = (AttribsMasks->dwMask == 0 ? PrintAttributes : ChangeAttributes); pszFileName = szFullName + wcslen(szFullName);
EnumContext.Context = (AttribsMasks->dwMask == 0 ? NULL : AttribsMasks);
/* Prepare the full file path buffer */ /* display all subdirectories */
EnumContext.cchBuffer = _countof(EnumContext.FullPathBuffer); if (bRecurse)
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'\\')
{ {
EnumContext.FullPathBuffer[offFilePart] = L'\\'; /* append *.* */
EnumContext.FullPathBuffer[offFilePart + 1] = UNICODE_NULL; wcscpy(pszFileName, L"*.*");
offFilePart++;
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 wmain(int argc, WCHAR *argv[])
{ {
INT i; INT i;
DWORD dwEnumFlags = 0; BOOL bRecurse = FALSE;
ATTRIBS_MASKS AttribsMasks = {0}; BOOL bDirectories = FALSE;
DWORD dwAttrib = 0;
DWORD dwMask = 0;
BOOL bFound = FALSE; BOOL bFound = FALSE;
PWSTR pszFileName; PWSTR pszFileName;
WCHAR szFilePath[MAX_PATH + 2] = L""; // + 2 to reserve an extra path separator and a NULL-terminator. WCHAR szFilePath[MAX_PATH + 2] = L""; // + 2 to reserve an extra path separator and a NULL-terminator.
@@ -331,9 +309,9 @@ int wmain(int argc, WCHAR *argv[])
else else
/* Retrieve the enumeration modes */ /* Retrieve the enumeration modes */
if (wcsicmp(argv[i], L"/s") == 0) if (wcsicmp(argv[i], L"/s") == 0)
dwEnumFlags |= ENUM_RECURSE; bRecurse = TRUE;
else if (wcsicmp(argv[i], L"/d") == 0) else if (wcsicmp(argv[i], L"/d") == 0)
dwEnumFlags |= ENUM_DIRECTORIES; bDirectories = TRUE;
else else
{ {
/* Unknown option */ /* Unknown option */
@@ -356,47 +334,37 @@ int wmain(int argc, WCHAR *argv[])
switch (towupper(argv[i][1])) switch (towupper(argv[i][1]))
{ {
case L'A': case L'A':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_ARCHIVE; dwMask |= FILE_ATTRIBUTE_ARCHIVE;
if (bAdd) if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_ARCHIVE; dwAttrib |= FILE_ATTRIBUTE_ARCHIVE;
else else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_ARCHIVE; dwAttrib &= ~FILE_ATTRIBUTE_ARCHIVE;
break; break;
case L'S': case L'S':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_SYSTEM; dwMask |= FILE_ATTRIBUTE_SYSTEM;
if (bAdd) if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_SYSTEM; dwAttrib |= FILE_ATTRIBUTE_SYSTEM;
else else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_SYSTEM; dwAttrib &= ~FILE_ATTRIBUTE_SYSTEM;
break; break;
case L'H': case L'H':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_HIDDEN; dwMask |= FILE_ATTRIBUTE_HIDDEN;
if (bAdd) if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_HIDDEN; dwAttrib |= FILE_ATTRIBUTE_HIDDEN;
else else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_HIDDEN; dwAttrib &= ~FILE_ATTRIBUTE_HIDDEN;
break; break;
case L'R': case L'R':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_READONLY; dwMask |= FILE_ATTRIBUTE_READONLY;
if (bAdd) if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_READONLY; dwAttrib |= FILE_ATTRIBUTE_READONLY;
else else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_READONLY; dwAttrib &= ~FILE_ATTRIBUTE_READONLY;
break; 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;
break;
#endif
default: default:
ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]); ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]);
return -1; return -1;
@@ -412,10 +380,19 @@ int wmain(int argc, WCHAR *argv[])
/* If no file specification was found, operate on all files of the current directory */ /* If no file specification was found, operate on all files of the current directory */
if (!bFound) if (!bFound)
{ {
GetCurrentDirectoryW(_countof(szFilePath) - 2, szFilePath); DWORD len = GetCurrentDirectoryW(_countof(szFilePath) - 2, szFilePath);
pszFileName = ALL_FILES_PATTERN; if (szFilePath[len - 1] != L'\\')
{
szFilePath[len] = L'\\';
szFilePath[len + 1] = UNICODE_NULL;
}
pszFileName = L"*.*";
if (dwMask == 0)
bFound = PrintAttribute(szFilePath, pszFileName, bRecurse, bDirectories);
else
bFound = ChangeAttribute(szFilePath, pszFileName, bRecurse, bDirectories, dwMask, dwAttrib);
bFound = AttribEnumFiles(szFilePath, pszFileName, dwEnumFlags, &AttribsMasks);
if (!bFound) if (!bFound)
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, pszFileName); ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, pszFileName);
@@ -442,7 +419,11 @@ int wmain(int argc, WCHAR *argv[])
pszFileName = L""; pszFileName = L"";
} }
bFound = AttribEnumFiles(szFilePath, pszFileName, dwEnumFlags, &AttribsMasks); if (dwMask == 0)
bFound = PrintAttribute(szFilePath, pszFileName, bRecurse, bDirectories);
else
bFound = ChangeAttribute(szFilePath, pszFileName, bRecurse, bDirectories, dwMask, dwAttrib);
if (!bFound) if (!bFound)
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, argv[i]); ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, argv[i]);
} }

View File

@@ -3,7 +3,6 @@
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file * PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2014 Ștefan Fulea <stefan.fulea@mail.com> * TRANSLATORS: Copyright 2011-2014 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/ */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -24,6 +23,6 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fișier ...\n\
Tastați ATTRIB fără argumente pentru afișarea atributelor pentru\n\ Tastați ATTRIB fără argumente pentru afișarea atributelor pentru\n\
toate fișierele.\n" toate fișierele.\n"
STRING_CONSOLE_ERROR "Eroare necunoscută: %d\n" STRING_CONSOLE_ERROR "Eroare necunoscută: %d\n"
STRING_FILE_NOT_FOUND "Fișierul nu a fost găsit - '%s'\n" STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Formatul argumentului este eronat - %s\n" STRING_ERROR_INVALID_PARAM_FORMAT "Formatul argumentului este eronat - %s\n"
END END

View File

@@ -26,6 +26,6 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\
/D Обработка и файлов, и папок.\n\n\ /D Обработка и файлов, и папок.\n\n\
Команда ATTRIB без параметров выводит атрибуты всех файлов.\n" Команда ATTRIB без параметров выводит атрибуты всех файлов.\n"
STRING_CONSOLE_ERROR "Неизвестная ошибка: %d\n" STRING_CONSOLE_ERROR "Неизвестная ошибка: %d\n"
STRING_FILE_NOT_FOUND "Файл не найден - '%s'\n" STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Неверный формат параметра - %s\n" STRING_ERROR_INVALID_PARAM_FORMAT "Неверный формат параметра - %s\n"
END END

View File

@@ -9,7 +9,7 @@ COMP [/L] [/A] [данные1] [данные2]\n\n\
/A Вывод различий в формате ASCII (по умолчанию: шестнадцатиричный).\n\ /A Вывод различий в формате ASCII (по умолчанию: шестнадцатиричный).\n\
/L Вывод номеров строк, в которых обнаружены различия.\n" /L Вывод номеров строк, в которых обнаружены различия.\n"
IDS_INVALIDSWITCH "Недопустимый ключ - /%c\n" IDS_INVALIDSWITCH "Недопустимый ключ - /%c\n"
IDS_BADSYNTAX "Неверный формат командной строки\n" IDS_BADSYNTAX "Не верный формат командной строки\n"
IDS_FILEERROR "Не удалось найти/открыть файл: %s\n" IDS_FILEERROR "Не удалось найти/открыть файл: %s\n"
IDS_COMPARING "Сравнение %s и %s...\n" IDS_COMPARING "Сравнение %s и %s...\n"
IDS_FILESIZEERROR "Не удалось определить размер файла: %s\n" IDS_FILESIZEERROR "Не удалось определить размер файла: %s\n"

View File

@@ -30,9 +30,9 @@ FC /B [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_ф
IDS_LONGER_THAN "FC: %ls длиннее, чем %ls\n" IDS_LONGER_THAN "FC: %ls длиннее, чем %ls\n"
IDS_COMPARING "Сравнение файлов %ls и %ls\n" IDS_COMPARING "Сравнение файлов %ls и %ls\n"
IDS_OUT_OF_MEMORY "FC: Недостаточно памяти\n" IDS_OUT_OF_MEMORY "FC: Недостаточно памяти\n"
IDS_CANNOT_READ "FC: Не удаётся прочитать %ls\n" IDS_CANNOT_READ "FC: не удаётся прочитать %ls\n"
IDS_INVALID_SWITCH "FC: Недопустимый ключ\n" IDS_INVALID_SWITCH "FC: Недопустимый ключ\n"
IDS_CANNOT_OPEN "FC: Не удаётся открыть %ls - файл либо папка не существует\n" IDS_CANNOT_OPEN "FC: не удаётся открыть %ls - файл либо папка не существует\n"
IDS_NEEDS_FILES "FC: Недостаточное количество имён файлов\n" IDS_NEEDS_FILES "FC: Недостаточное количество имён файлов\n"
IDS_CANT_USE_WILDCARD "Подстановочные знаки ('*' и '?') пока не поддерживаются\n" IDS_CANT_USE_WILDCARD "Подстановочные знаки ('*' и '?') пока не поддерживаются\n"
IDS_DIFFERENT "FC: Файлы %ls и %ls различны\n" IDS_DIFFERENT "FC: Файлы %ls и %ls различны\n"

View File

@@ -1,9 +1,9 @@
/* /*
* PROJECT: ReactOS Find Command * FILE: base/applications/cmdutils/find/lang/ro-RO.rc
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) * ReactOS Project (https://reactos.org)
* PURPOSE: Romanian resource file * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan)
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com> * CHANGE LOG: 2011-08-20 initial translation
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com> * 2011-10-17 diacritics change, other minor changes
*/ */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -16,9 +16,8 @@ FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] ""șir"" [fișier...]\n\
/C Numără liniile ce conțin șirul.\n\ /C Numără liniile ce conțin șirul.\n\
/N Numără rândurile afișate, începând cu 1.\n\ /N Numără rândurile afișate, începând cu 1.\n\
/I Ignoră diferențele între majuscule și minuscule.\n\ /I Ignoră diferențele între majuscule și minuscule.\n\
/OFF[LINE] Nu omite fișierele care au configurate atributul\n\ /OFF[LINE] Do not skip files that have the offline attribute set."
offline (deconectat)."
IDS_NO_SUCH_FILE "FIND: Fișierul «%s» nu există!\n" IDS_NO_SUCH_FILE "FIND: Fișierul «%s» nu există!\n"
IDS_CANNOT_OPEN "FIND: Fișierul «%s» nu poate fi deschis!\n" IDS_CANNOT_OPEN "FIND: Fișierul «%s» nu poate fi deschis!\n"
IDS_INVALID_SWITCH "FIND: Comutare nevalidă\n" IDS_INVALID_SWITCH "FIND: Invalid switch\n"
END END

View File

@@ -8,11 +8,11 @@ FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] ""строка"" [[диск:][путь]и
/C Вывод только общего числа строк, содержащих заданную строку.\n\ /C Вывод только общего числа строк, содержащих заданную строку.\n\
/N Вывод номеров отображаемых строк.\n\ /N Вывод номеров отображаемых строк.\n\
/I Поиск без учета регистра символов.\n\ /I Поиск без учета регистра символов.\n\
/OFF[LINE] Не пропускать файлы, у которых установлен атрибут offline.\n\ /OFF[LINE] Do not skip files that have the offline attribute set.\n\
""строка"" Искомая строка.\n\ ""строка"" Искомая строка.\n\
[диск:][путь]имя_файла\n\ [диск:][путь]имя_файла\n\
Один или несколько файлов, в которых выполняется поиск." Один или несколько файлов, в которых выполняется поиск."
IDS_NO_SUCH_FILE "FIND: %s: Файл не существует.\n" IDS_NO_SUCH_FILE "FIND: %s: Файл не существует.\n"
IDS_CANNOT_OPEN "FIND: %s: Невозможно открыть файл.\n" IDS_CANNOT_OPEN "FIND: %s: Невозможно открыть файл.\n"
IDS_INVALID_SWITCH "FIND: Недопустимый ключ\n" IDS_INVALID_SWITCH "FIND: Invalid switch\n"
END END

View File

@@ -1,26 +1,20 @@
/* /* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
* PROJECT: ReactOS Label Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE STRINGTABLE
BEGIN BEGIN
// STRING_LABEL_HELP "Afișează sau modifică eticheta unei unități (de stocare).\n\nLABEL [unitate:][etichetă]\n" // STRING_LABEL_HELP "Afișează sau modifică eticheta unei unități (de stocare).\n\nLABEL [unitate:][etichetă]\n"
STRING_LABEL_HELP "Crea, schimbă sau șterge denumirea unui dispozitiv.\n\n\ STRING_LABEL_HELP "Creates, changes or deletes the volume label of a disk.\n\n\
LABEL [dispozitiv:][denumire]\n\n\ LABEL [drive:][label]\n\n\
dispozitiv: Specifică litera unui dispozitiv.\n\ drive: Specifies the drive letter of a drive.\n\
denumire Specifică denumirea unui dispozitiv." label Specifies the label of the drive."
STRING_LABEL_TEXT1 "Volumul unității %c: este denumit ca %s\n" STRING_LABEL_TEXT1 "Volumul unității %c: este etichetat ca %s\n"
STRING_LABEL_TEXT2 "Volumul unității %c: nu este denumit.\n" STRING_LABEL_TEXT2 "Volumul unității %c: nu este etichetat.\n"
STRING_LABEL_TEXT3 "Numărul de serie al volumului este %04X-%04X\n" STRING_LABEL_TEXT3 "Numărul de serie al volumului este %04X-%04X\n"
STRING_LABEL_TEXT4 "Introduceți denumirea unității (opțională, de 32 caractere), apoi ENTER " STRING_LABEL_TEXT4 "Introduceți eticheta unității (opțională, de 32 caractere), apoi ENTER "
STRING_LABEL_PROMPT "Ștergeți denumirea actuală a volumului (Da/Nu)? " STRING_LABEL_PROMPT "Delete current volume label (Y/N)? "
STRING_LABEL_OPTIONS "DaNu" STRING_LABEL_OPTIONS "YN"
STRING_ERROR_INVALID_DRIVE "Specificarea unității este eronată\n" STRING_ERROR_INVALID_DRIVE "Specificarea unității este eronată\n"
STRING_ERROR_INVALID_LABEL "Denumirea volumului e nevalidă\n" STRING_ERROR_INVALID_LABEL "Invalid volume label\n"
END END

View File

@@ -1,65 +1,60 @@
/* /*
* PROJECT: ReactOS More Command * FILE: base/applications/cmdutils/more/lang/ro-RO.rc
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) * ReactOS Project (https://reactos.org)
* PURPOSE: Romanian resource file * TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan)
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com> * CHANGE LOG: 2011-08-20 initial translation
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com> * 2011-10-17 diacritics change, other minor changes
*/ */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_USAGE "Afișarea datelor pe ecran, pagină cu pagină.\n\ IDS_USAGE "Afișea date pe ecran, pagină-cu-pagină.\n\
\n\ \n\
MORE [/E [opțiuni]] < [dispozitiv:][cale]numele fișierului\n\ MORE [/E [options]] < [drive:][path]filename\n\
command | MORE [/E [opțiuni]\n\ command | MORE [/E [options]]\n\
\n\ \n\
[dispozitiv:][cale]numele fișierului Un fișier al cărui conținut\n\ [drive:][path]filename A file whose contents are to be displayed.\n\
urmează să fie afișat.\n\ command A command whose output is to be displayed.\n\
comandă O comandă a cărei ieșire\n\
urmează să fie afișată.\n\
\n\ \n\
Atunci când opțiunea Caracteristici extinse e activată,\n\ When Extended Features are enabled, the following form is supported:\n\
următoarea formă este acceptată:\n\ MORE [/E] [options] [files]\n\
MORE [/E] [opțiuni] [fișiere]\n\
\n\ \n\
Opțiuni:\n\ Options:\n\
/E Activarea opțiunii Caracteristici extinse.\n\ /E Enable Extended Features.\n\
Stadiul implicit al Caracteristicilor extinse e controlat de setările\n\ The default state of the Extended Features is controlled by the default\n\
implicite de registru pentru programul CMD.EXE. Pentru mai multe detalii\n\ registry settings for CMD.EXE. For more details on how to change these\n\
legate de cum pot fi schimbate aceste setări, vedeți secțiunea\n\ settings, see the section ""Command Extensions"" in CMD.EXE help.\n\
""Extensii de comenzi"" în secțiunea de ajutor a programului CMD.EXE.\n\
\n\ \n\
Atunci când opțiunea Caracteristici extinse e activată, sunt disponibile\n\ When Extended Features are enabled, the following options are available:\n\
următoarele opțiuni:\n\ /C Clear the screen before displaying a page.\n\
/C Curățarea ecranului înainte de a se afișa o pagină.\n\ /P Expand Form-Feed characters.\n\
/P Extinderea caracterelor Form-Feed (de alimentare de formulare).\n\ /S Shrink successive blank lines to a single line.\n\
/S Reducerea liniilor goale succesive la o singură linie.\n\ /Tn Expand tabs to n spaces (default: 8).\n\
/Tn Extinderea tab-urilor la n spații (implicit: 8).\n\
\n\ \n\
Aceste opțiuni pot fi specificate în variabila de mediu MORE.\n\ These options can be specified in the MORE environment variable.\n\
\n\ \n\
+n Începerea afișării primului fișier la linia n.\n\ +n Start displaying the first file at line n.\n\
fișiere Lista fișierelor de afișat, separate prin spații libere.\n\ files List of files to display, separated by blanks.\n\
\n\ \n\
Atunci când opțiunea Caracteristici extinse e activată, sunt disponibile\n\ When Extended Features are enabled, the following commands are available\n\
următoarele comenzi la panoul ""-- Continuă --"":\n\ at the ""-- Continue --"" prompt:\n\
\n\ \n\
P n Afișarea următoarelor n linii.\n\ P n Display the next n lines.\n\
S n Omiterea următoarelor n linii.\n\ S n Skip the next n lines.\n\
F Afișarea următorului fișier.\n\ F Display the next file.\n\
Q Ieșire.\n\ Q Quit.\n\
= Afișarea numărului de linie.\n\ = Show the line number.\n\
? Afișarea liniei de ajutor.\n\ ? Show the help line.\n\
<Space> Afișarea următoarei pagini.\n\ <Space> Display the next page.\n\
<Enter> Afișarea următoari linii.\n" <Enter> Display the next line.\n"
IDS_BAD_FLAG "Argument nevalid - '%s'\n" IDS_BAD_FLAG "Invalid argument - '%s'\n"
IDS_FILE_ACCESS "Fișierul «%s» nu poate fi accesat!\n" IDS_FILE_ACCESS "Fișierul «%s» nu poate fi accesat!\n"
IDS_CONTINUE_PROMPT "-- Continuă%1%2%3 --%4" IDS_CONTINUE_PROMPT "-- Continuă%1%2%3 --%4"
IDS_CONTINUE_PERCENT " (%d%%)" IDS_CONTINUE_PERCENT " (%d%%)"
IDS_CONTINUE_LINE_AT " [Linie: %d]" IDS_CONTINUE_LINE_AT " [Line: %d]"
IDS_CONTINUE_OPTIONS " [Opțiuni: psfq=<Space><Enter>]" IDS_CONTINUE_OPTIONS " [Options: psfq=<Space><Enter>]"
IDS_CONTINUE_LINES " Linii: " IDS_CONTINUE_LINES " Lines: "
END END

View File

@@ -1,10 +1,4 @@
/* /* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
* PROJECT: ReactOS Taskkill Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -24,6 +18,6 @@ STRINGTABLE
STRING_ENUM_FAILED, "Eroare: Procesele nu au putut fi enumerate.\n" STRING_ENUM_FAILED, "Eroare: Procesele nu au putut fi enumerate.\n"
STRING_TERMINATE_FAILED, "Eroare: Procesul «%1» nu poate fi oprit.\n" STRING_TERMINATE_FAILED, "Eroare: Procesul «%1» nu poate fi oprit.\n"
STRING_SELF_TERMINATION, "Eroare: Auto-terminarea nu este permisă.\n" STRING_SELF_TERMINATION, "Eroare: Auto-terminarea nu este permisă.\n"
STRING_PARAM_TOO_MUCH, "Eroare: Sintaxă nevalidă. Opțiunea '%1' nu este permisă mai mult de '%2!d!' dată(dăți).\n" STRING_PARAM_TOO_MUCH, "Error: Invalid syntax. '%1' option is not allowed more than '%2!d!' time(s).\n"
STRING_INVALID_SYNTAX, "Eroare: Sintaxă nevalidă.\n" STRING_INVALID_SYNTAX, "Error: Invalid syntax.\n"
} }

View File

@@ -52,7 +52,7 @@ XCOPY источник [целевой_объект] [/I] [/S] [/Q] [/F] [/L] [/
/A Копирует только те файлы, для которых установлен атрибут ""архивный"".\n\ /A Копирует только те файлы, для которых установлен атрибут ""архивный"".\n\
/M Копирует только те файлы, для которых установлен атрибут ""архивный"",\n\ /M Копирует только те файлы, для которых установлен атрибут ""архивный"",\n\
при этом атрибут удаляется.\n\ при этом атрибут удаляется.\n\
[/K] Копирует атрибуты файлов, без этого атрибуты не сохраняются.\n\ [/K] Copy file attributes, without this attributes are not preserved.\n\
/D | /D:m-d-y Копирование файлов, измененных не ранее указанной даты.\n\ /D | /D:m-d-y Копирование файлов, измененных не ранее указанной даты.\n\
Если дата не указана, заменяются только конечные файлы,\n\ Если дата не указана, заменяются только конечные файлы,\n\
более старые, чем исходные.\n" более старые, чем исходные.\n"

View File

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

View File

@@ -1,9 +1,7 @@
/* /*
* PROJECT: ReactOS DX Diagnostic * FILE: base/applications/dxdiag/lang/ro-RO.rc
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) * ReactOS Project (https://reactos.org)
* PURPOSE: Romanian resource file * TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot com)
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/ */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -17,7 +15,7 @@ BEGIN
CONTROL "Tab1", IDC_TAB_CONTROL, "SysTabControl32", WS_TABSTOP, 2, 2, 474, 250 CONTROL "Tab1", IDC_TAB_CONTROL, "SysTabControl32", WS_TABSTOP, 2, 2, 474, 250
PUSHBUTTON "&Manual…", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED PUSHBUTTON "&Manual…", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
DEFPUSHBUTTON "&Următorul compartiment", IDC_BUTTON_NEXT, 187, 260, 120, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP DEFPUSHBUTTON "&Următorul compartiment", IDC_BUTTON_NEXT, 187, 260, 120, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "S&alvare informații…", IDC_BUTTON_SAVE_INFO, 311, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED PUSHBUTTON "&Păstrare informații…", IDC_BUTTON_SAVE_INFO, 311, 260, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "Î&nchide", IDC_BUTTON_EXIT, 425, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP PUSHBUTTON "Î&nchide", IDC_BUTTON_EXIT, 425, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END END
@@ -25,7 +23,7 @@ IDD_SYSTEM_DIALOG DIALOGEX 0, 0, 462, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
LTEXT "Acest instrument oferă informații detaliate despre componentele ReactX și drivere instalate în sistem.", IDC_STATIC, 5, 0, 443, 17 LTEXT "Acest instrument oferă informații detaliate despre componentele ReactX și modulele-pilot instalate în sistem.", IDC_STATIC, 5, 0, 443, 17
LTEXT "Dacă aveți la cunoștință careva probleme la o anumită categorie, mergeți la compartimentul corespunzător de mai sus. Altfel, puteți utiliza butonul „Următorul compartiment” de mai jos pentru a trece secvențial prin fiecare categorie.", IDC_STATIC, 5, 15, 443, 25 LTEXT "Dacă aveți la cunoștință careva probleme la o anumită categorie, mergeți la compartimentul corespunzător de mai sus. Altfel, puteți utiliza butonul „Următorul compartiment” de mai jos pentru a trece secvențial prin fiecare categorie.", IDC_STATIC, 5, 15, 443, 25
GROUPBOX "Informații despre sistem", IDC_STATIC, 5, 35, 452, 150, SS_RIGHT GROUPBOX "Informații despre sistem", IDC_STATIC, 5, 35, 452, 150, SS_RIGHT
LTEXT "Data/Ora curentă:", IDC_STATIC, 70, 50, 80, 10, SS_RIGHT LTEXT "Data/Ora curentă:", IDC_STATIC, 70, 50, 80, 10, SS_RIGHT

View File

@@ -1,23 +1,17 @@
/* /* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
* PROJECT: ReactOS fltmc utility
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_USAGE "\nComenzi valide:\n\ IDS_USAGE "\nComenzi valide:\n\
load Încarcă un driver de tip filtru\n\ load Încarcă un modul-pilot de tip filtru\n\
unload Descarcă un driver de tip filtru\n\ unload Descarcă un modul-pilot de tip filtru\n\
filters Afișează filtrele înregistrate acum în sistem\n\n\ filters Afișează filtrele înregistrate acum în sistem\n\n\
volumes Afișează toate volumele\n\n" volumes Afișează toate volumele\n\n"
IDS_USAGE_LOAD "Încarcă un driver de tip filtru\n" IDS_USAGE_LOAD "Încarcă un modul-pilot de tip filtru\n"
IDS_USAGE_UNLOAD "Descarcă un driver de tip filtru\n" IDS_USAGE_UNLOAD "Descarcă un modul-pilot de tip filtru\n"
IDS_USAGE_FILTERS "Afișează toate filtrele înregistrate\n" IDS_USAGE_FILTERS "Afișează toate filtrele înregistrate\n"
IDS_USAGE_VOLUMES "Afișează toate volumele\n" IDS_USAGE_VOLUMES "Afișează toate volumele\n"
END END
@@ -31,7 +25,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_ERROR_PRIV "Eșec la instituirea dreptului de încărcare pentru driverul (0x%X)\n" IDS_ERROR_PRIV "Eșec la instituirea dreptului de încărcare pentru modulul-pilot (0x%X)\n"
IDS_ERROR_FILTERS "Eșec la afișarea filtrelor (0x%X)\n" IDS_ERROR_FILTERS "Eșec la afișarea filtrelor (0x%X)\n"
IDS_ERROR_LOAD "Eșec la încărcarea filtrului (0x%X)\n" IDS_ERROR_LOAD "Eșec la încărcarea filtrului (0x%X)\n"
IDS_ERROR_UNLOAD "Eșec la descărcarea filtrului (0x%X)\n" IDS_ERROR_UNLOAD "Eșec la descărcarea filtrului (0x%X)\n"

View File

@@ -11,7 +11,7 @@ BEGIN
IDS_USAGE_LOAD "Загружает драйвер фильтра\n" IDS_USAGE_LOAD "Загружает драйвер фильтра\n"
IDS_USAGE_UNLOAD "Выгружает драйвер фильтра\n" IDS_USAGE_UNLOAD "Выгружает драйвер фильтра\n"
IDS_USAGE_FILTERS "Выводит список всех зарегистрированных фильтров\n" IDS_USAGE_FILTERS "Выводит список всех зарегистрированных фильтров\n"
IDS_USAGE_VOLUMES "Выводит список всех томов\n" IDS_USAGE_VOLUMES "Lists all volumes\n"
END END
STRINGTABLE STRINGTABLE
@@ -27,5 +27,5 @@ BEGIN
IDS_ERROR_FILTERS "Не удалось получить список фильтров (0x%X)\n" IDS_ERROR_FILTERS "Не удалось получить список фильтров (0x%X)\n"
IDS_ERROR_LOAD "Не удалось загрузить фильтр (0x%X)\n" IDS_ERROR_LOAD "Не удалось загрузить фильтр (0x%X)\n"
IDS_ERROR_UNLOAD "Не удалось выгрузить фильтр (0x%X)\n" IDS_ERROR_UNLOAD "Не удалось выгрузить фильтр (0x%X)\n"
IDS_ERROR_VOLUMES "Не удалось получить список томов (0x%X)\n" IDS_ERROR_VOLUMES "Failed to list the volumes (0x%X)\n"
END END

View File

@@ -10,6 +10,6 @@ add_rc_deps(rsrc.rc ${CMAKE_CURRENT_SOURCE_DIR}/solitaire.ico)
add_executable(sol ${SOURCE} rsrc.rc) add_executable(sol ${SOURCE} rsrc.rc)
target_link_libraries(sol cardlib) target_link_libraries(sol cardlib)
set_module_type(sol win32gui UNICODE) set_module_type(sol win32gui UNICODE)
add_importlibs(sol advapi32 comctl32 shell32 user32 gdi32 msvcrt kernel32) add_importlibs(sol advapi32 comctl32 user32 gdi32 msvcrt kernel32)
add_pch(sol solitaire.h SOURCE) add_pch(sol solitaire.h SOURCE)
add_cd_file(TARGET sol DESTINATION reactos/system32 FOR all) add_cd_file(TARGET sol DESTINATION reactos/system32 FOR all)

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Пасианс" IDS_SOL_NAME "Пасианс"
IDS_SOL_ABOUT "Solitaire by J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire by J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Да прекратя ли играта?" IDS_SOL_QUIT "Да прекратя ли играта?"
IDS_SOL_WIN "Поздравления, победихте!!" IDS_SOL_WIN "Поздравления, победихте!!"
IDS_SOL_DEAL "Ново раздаване?" IDS_SOL_DEAL "Ново раздаване?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitari" IDS_SOL_NAME "Solitari"
IDS_SOL_ABOUT "Solitari per J Brown\nCardLib versio 1.0" IDS_SOL_ABOUT "Solitari per J Brown\n\nCardLib versio 1.0."
IDS_SOL_QUIT "Voleu sortir del joc actual?" IDS_SOL_QUIT "Voleu sortir del joc actual?"
IDS_SOL_WIN "Felicitats, heu guanyat!!" IDS_SOL_WIN "Felicitats, heu guanyat!!"
IDS_SOL_DEAL "Deal again?" IDS_SOL_DEAL "Deal again?"

View File

@@ -53,7 +53,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire by J Brown\nCardLib verze 1.0" IDS_SOL_ABOUT "Solitaire by J Brown\n\nCardLib verze 1.0."
IDS_SOL_QUIT "Ukončit rozehranou hru?" IDS_SOL_QUIT "Ukončit rozehranou hru?"
IDS_SOL_WIN "Gratulujeme, zvítězili jste!!" IDS_SOL_WIN "Gratulujeme, zvítězili jste!!"
IDS_SOL_DEAL "Rozdat znova?" IDS_SOL_DEAL "Rozdat znova?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitär" IDS_SOL_NAME "Solitär"
IDS_SOL_ABOUT "Solitär von J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitär von J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Laufendes Spiel beenden?" IDS_SOL_QUIT "Laufendes Spiel beenden?"
IDS_SOL_WIN "Glückwunsch, Sie haben gewonnen!" IDS_SOL_WIN "Glückwunsch, Sie haben gewonnen!"
IDS_SOL_DEAL "Neu geben?" IDS_SOL_DEAL "Neu geben?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Πασιέντζα" IDS_SOL_NAME "Πασιέντζα"
IDS_SOL_ABOUT "Solitaire by J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire by J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Τερματισμός του πιαχνιδιού αυτού;" IDS_SOL_QUIT "Τερματισμός του πιαχνιδιού αυτού;"
IDS_SOL_WIN "Συγχαρητήρια, κερδίσατε!!" IDS_SOL_WIN "Συγχαρητήρια, κερδίσατε!!"
IDS_SOL_DEAL "Deal again?" IDS_SOL_DEAL "Deal again?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire by J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire by J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Quit the current game?" IDS_SOL_QUIT "Quit the current game?"
IDS_SOL_WIN "Congratulations, you win!" IDS_SOL_WIN "Congratulations, you win!"
IDS_SOL_DEAL "Deal again?" IDS_SOL_DEAL "Deal again?"

View File

@@ -57,7 +57,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitario" IDS_SOL_NAME "Solitario"
IDS_SOL_ABOUT "Solitario por J Brown\nCardLib versión 1.0" IDS_SOL_ABOUT "Solitario por J Brown\n\nCardLib versión 1.0."
IDS_SOL_QUIT "¿Salir del juego actual?" IDS_SOL_QUIT "¿Salir del juego actual?"
IDS_SOL_WIN "¡Enhorabuena, has ganado!" IDS_SOL_WIN "¡Enhorabuena, has ganado!"
IDS_SOL_DEAL "¿Jugar de nuevo?" IDS_SOL_DEAL "¿Jugar de nuevo?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitarioa" IDS_SOL_NAME "Solitarioa"
IDS_SOL_ABOUT "Solitarioa J Brown\nCardLib-k egina 1.0 bertsioa" IDS_SOL_ABOUT "Solitarioa J Brown\n\nCardLib-k egina 1.0. bertsioa"
IDS_SOL_QUIT "Uneko jokoa amaitu?" IDS_SOL_QUIT "Uneko jokoa amaitu?"
IDS_SOL_WIN "Zorionak, irabazi duzu!!" IDS_SOL_WIN "Zorionak, irabazi duzu!!"
IDS_SOL_DEAL "Deal again?" IDS_SOL_DEAL "Deal again?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire par J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire par J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Quitter le jeu actuel ?" IDS_SOL_QUIT "Quitter le jeu actuel ?"
IDS_SOL_WIN "Félicitations ! Vous avez gagné !" IDS_SOL_WIN "Félicitations ! Vous avez gagné !"
IDS_SOL_DEAL "Redistribuer ?" IDS_SOL_DEAL "Redistribuer ?"

View File

@@ -57,7 +57,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "סוליטייר" IDS_SOL_NAME "סוליטייר"
IDS_SOL_ABOUT "Solitaire by J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire by J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "להפסיק את המשחק הנוכחי?" IDS_SOL_QUIT "להפסיק את המשחק הנוכחי?"
IDS_SOL_WIN "כל הכבוד, ניצחת!" IDS_SOL_WIN "כל הכבוד, ניצחת!"
IDS_SOL_DEAL "לחלק שוב?" IDS_SOL_DEAL "לחלק שוב?"

View File

@@ -54,7 +54,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire od J Brown\nCardLib verzija 1.0" IDS_SOL_ABOUT "Solitaire od J Brown\n\nCardLib verzija 1.0."
IDS_SOL_QUIT "Napusti trenutnu igru?" IDS_SOL_QUIT "Napusti trenutnu igru?"
IDS_SOL_WIN "Čestitke, pobijedili ste!" IDS_SOL_WIN "Čestitke, pobijedili ste!"
IDS_SOL_DEAL "Ponovi?" IDS_SOL_DEAL "Ponovi?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Pasziánsz" IDS_SOL_NAME "Pasziánsz"
IDS_SOL_ABOUT "Pasziánsz, készítette J Brown\nCardLib verzió 1.0" IDS_SOL_ABOUT "Pasziánsz, készítette J Brown\n\nCardLib verzió 1.0."
IDS_SOL_QUIT "Kilépés ebből a játékból?" IDS_SOL_QUIT "Kilépés ebből a játékból?"
IDS_SOL_WIN "Gratulálok, Ön nyert!" IDS_SOL_WIN "Gratulálok, Ön nyert!"
IDS_SOL_DEAL "Új leosztás?" IDS_SOL_DEAL "Új leosztás?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire oleh J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire oleh J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Keluar dari permainan saat ini?" IDS_SOL_QUIT "Keluar dari permainan saat ini?"
IDS_SOL_WIN "Selamat, anda menang!" IDS_SOL_WIN "Selamat, anda menang!"
IDS_SOL_DEAL "Main lagi?" IDS_SOL_DEAL "Main lagi?"

View File

@@ -56,7 +56,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitario" IDS_SOL_NAME "Solitario"
IDS_SOL_ABOUT "Solitario by J Brown\nCardLib versione 1.0" IDS_SOL_ABOUT "Solitario by J Brown\n\nCardLib versione 1.0."
IDS_SOL_QUIT "Chiudere la partita in corso?" IDS_SOL_QUIT "Chiudere la partita in corso?"
IDS_SOL_WIN "Congratulazioni, hai vinto!!" IDS_SOL_WIN "Congratulazioni, hai vinto!!"
IDS_SOL_DEAL "Nuova partita?" IDS_SOL_DEAL "Nuova partita?"

View File

@@ -54,7 +54,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "ソリティア" IDS_SOL_NAME "ソリティア"
IDS_SOL_ABOUT "J Brown によるソリティア\nCardLib バージョン 1.0" IDS_SOL_ABOUT "J Brown によるソリティア\n\nCardLib バージョン 1.0"
IDS_SOL_QUIT "現在のゲームを終了しますか?" IDS_SOL_QUIT "現在のゲームを終了しますか?"
IDS_SOL_WIN "おめでとう、あなたの勝ちです!" IDS_SOL_WIN "おめでとう、あなたの勝ちです!"
IDS_SOL_DEAL "もう一度カードを配りますか?" IDS_SOL_DEAL "もう一度カードを配りますか?"

View File

@@ -49,7 +49,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "카드놀이" IDS_SOL_NAME "카드놀이"
IDS_SOL_ABOUT "Solitaire by J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire by J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "현재 게임을 끝낼가요?" IDS_SOL_QUIT "현재 게임을 끝낼가요?"
IDS_SOL_WIN "축하합니다!!" IDS_SOL_WIN "축하합니다!!"
IDS_SOL_DEAL "Deal again?" IDS_SOL_DEAL "Deal again?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire sukurta J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire\n\nSukurta J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Baigti žaidimą?" IDS_SOL_QUIT "Baigti žaidimą?"
IDS_SOL_WIN "Sveikiname, jūs laimėjote!!" IDS_SOL_WIN "Sveikiname, jūs laimėjote!!"
IDS_SOL_DEAL "Dalinti vėl?" IDS_SOL_DEAL "Dalinti vėl?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire door J Brown\nCardLib versie 1.0" IDS_SOL_ABOUT "Solitaire door J Brown\n\nCardLib versie 1.0."
IDS_SOL_QUIT "Het huidige spel afsluiten?" IDS_SOL_QUIT "Het huidige spel afsluiten?"
IDS_SOL_WIN "Gefeliciteerd, u heeft gewonnen!" IDS_SOL_WIN "Gefeliciteerd, u heeft gewonnen!"
IDS_SOL_DEAL "Nogmaals spelen?" IDS_SOL_DEAL "Nogmaals spelen?"

View File

@@ -47,7 +47,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Kabal" IDS_SOL_NAME "Kabal"
IDS_SOL_ABOUT "Kabal av J Brown\nCardLib versjon 1.0" IDS_SOL_ABOUT "Kabal av J Brown\n\nCardLib versjon 1.0."
IDS_SOL_QUIT "Slutt nåværende spill?" IDS_SOL_QUIT "Slutt nåværende spill?"
IDS_SOL_WIN "Gratulerer, du vant!!" IDS_SOL_WIN "Gratulerer, du vant!!"
IDS_SOL_DEAL "Del ut igjen?" IDS_SOL_DEAL "Del ut igjen?"

View File

@@ -58,7 +58,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Pasjans" IDS_SOL_NAME "Pasjans"
IDS_SOL_ABOUT "Pasjans - autor: J. Brown\nCardLib wersja 1.0" IDS_SOL_ABOUT "Pasjans - autor: J. Brown\n\nCardLib wersja 1.0."
IDS_SOL_QUIT "Zakończyć aktualną grę?" IDS_SOL_QUIT "Zakończyć aktualną grę?"
IDS_SOL_WIN "Gratulacje, wygrałeś!" IDS_SOL_WIN "Gratulacje, wygrałeś!"
IDS_SOL_DEAL "Nowe rozdanie?" IDS_SOL_DEAL "Nowe rozdanie?"

View File

@@ -49,7 +49,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Paciência" IDS_SOL_NAME "Paciência"
IDS_SOL_ABOUT "Paciência por J Brown\nCardLib versão 1.0" IDS_SOL_ABOUT "Paciência por J Brown\n\nCardLib versão 1.0."
IDS_SOL_QUIT "Sair do jogo Atual?" IDS_SOL_QUIT "Sair do jogo Atual?"
IDS_SOL_WIN "Parabéns, Você ganhou!" IDS_SOL_WIN "Parabéns, Você ganhou!"
IDS_SOL_DEAL "Jogar de Novo?" IDS_SOL_DEAL "Jogar de Novo?"

View File

@@ -4,7 +4,7 @@
* PURPOSE: Romanian resource file * PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2009 Petru Dimitriu <petrimetri@gmail.com> * TRANSLATORS: Copyright 2009 Petru Dimitriu <petrimetri@gmail.com>
* Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com> * Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2022-2023 Andrei Miloiu <miloiuandrei@gmail.com> * Copyright 2022 Andrei Miloiu <miloiuandrei@gmail.com>
*/ */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -25,7 +25,7 @@ BEGIN
AUTORADIOBUTTON "Fă&ră", IDC_OPT_NOSCORE, 107, 45, 60, 10 AUTORADIOBUTTON "Fă&ră", IDC_OPT_NOSCORE, 107, 45, 60, 10
AUTOCHECKBOX "&Afișează timp", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Afișează timp", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP
AUTOCHECKBOX "&Bară de stare", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP AUTOCHECKBOX "&Bară de stare", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP
AUTOCHECKBOX "Salvea&ză scorul", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP AUTOCHECKBOX "&Păstrează scorul", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP
DEFPUSHBUTTON "Con&firmă", IDOK, 35, 97, 50, 14 DEFPUSHBUTTON "Con&firmă", IDOK, 35, 97, 50, 14
PUSHBUTTON "A&nulează", IDCANCEL, 101, 97, 50, 14 PUSHBUTTON "A&nulează", IDCANCEL, 101, 97, 50, 14
END END
@@ -56,7 +56,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Pasiență" IDS_SOL_NAME "Pasiență"
IDS_SOL_ABOUT "Pasiență de J Brown; Tradus de Petru Dimitriu\nCardLib versiunea 1.0" IDS_SOL_ABOUT "Pasiență de J Brown\nTradus de Petru Dimitriu\nCardLib versiunea 1.0."
IDS_SOL_QUIT "Abandonați jocul curent?" IDS_SOL_QUIT "Abandonați jocul curent?"
IDS_SOL_WIN "Felicitări, ați câștigat!" IDS_SOL_WIN "Felicitări, ați câștigat!"
IDS_SOL_DEAL "O nouă rundă?" IDS_SOL_DEAL "O nouă rundă?"

View File

@@ -49,7 +49,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Пасьянс" IDS_SOL_NAME "Пасьянс"
IDS_SOL_ABOUT "Пасьянс от J Brown\nCardLib версии 1.0" IDS_SOL_ABOUT "Пасьянс от J Brown\n\nCardLib версии 1.0."
IDS_SOL_QUIT "Закончить текущую игру?" IDS_SOL_QUIT "Закончить текущую игру?"
IDS_SOL_WIN "Поздравляем, вы выиграли!" IDS_SOL_WIN "Поздравляем, вы выиграли!"
IDS_SOL_DEAL "Раздать ещё раз?" IDS_SOL_DEAL "Раздать ещё раз?"

View File

@@ -56,7 +56,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitér" IDS_SOL_NAME "Solitér"
IDS_SOL_ABOUT "Solitér od J Brown\nCardLib verzia 1.0" IDS_SOL_ABOUT "Solitér od J Brown\n\nCardLib verzia 1.0"
IDS_SOL_QUIT "Naozaj chcete skončiť aktuálnu hru?" IDS_SOL_QUIT "Naozaj chcete skončiť aktuálnu hru?"
IDS_SOL_WIN "Blahoželám, vyhrali ste!" IDS_SOL_WIN "Blahoželám, vyhrali ste!"
IDS_SOL_DEAL "Rozdať znova?" IDS_SOL_DEAL "Rozdať znova?"

View File

@@ -56,7 +56,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire nga J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire nga J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Largohu Nga Loja?" IDS_SOL_QUIT "Largohu Nga Loja?"
IDS_SOL_WIN "Urime, keni fituar!" IDS_SOL_WIN "Urime, keni fituar!"
IDS_SOL_DEAL "Fillo Perseri?" IDS_SOL_DEAL "Fillo Perseri?"

View File

@@ -47,7 +47,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire av J Brown; Översätt av Ronny K Svensson\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire av J Brown\nÖversätt av Ronny K Svensson\n\nCardLib version 1.0."
IDS_SOL_QUIT "Avsluta nuvarande spel?" IDS_SOL_QUIT "Avsluta nuvarande spel?"
IDS_SOL_WIN "Grattis, du vann!" IDS_SOL_WIN "Grattis, du vann!"
IDS_SOL_DEAL "Ge igen?" IDS_SOL_DEAL "Ge igen?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire by J Brown\nCardLib version 1.0" IDS_SOL_ABOUT "Solitaire by J Brown\n\nCardLib version 1.0."
IDS_SOL_QUIT "Quit the current game?" IDS_SOL_QUIT "Quit the current game?"
IDS_SOL_WIN "Congratulations, you win!" IDS_SOL_WIN "Congratulations, you win!"
IDS_SOL_DEAL "Deal again?" IDS_SOL_DEAL "Deal again?"

View File

@@ -56,7 +56,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Solitaire" IDS_SOL_NAME "Solitaire"
IDS_SOL_ABOUT "Solitaire, J Brown tarafından yazılmıştır.\nCardLib sürümü: 1.0" IDS_SOL_ABOUT "Solitaire, J Brown tarafından yazılmıştır.\n\nCardLib sürümü: 1.0"
IDS_SOL_QUIT "Şimdiki oyundan çıkılsın mı?" IDS_SOL_QUIT "Şimdiki oyundan çıkılsın mı?"
IDS_SOL_WIN "Tebrikler, kazandınız!" IDS_SOL_WIN "Tebrikler, kazandınız!"
IDS_SOL_DEAL "Yeniden dağıtılsın mı?" IDS_SOL_DEAL "Yeniden dağıtılsın mı?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "Косинка" IDS_SOL_NAME "Косинка"
IDS_SOL_ABOUT "Косинка від J Brown\nCardLib версії 1.0" IDS_SOL_ABOUT "Косинка від J Brown\n\nCardLib версії 1.0."
IDS_SOL_QUIT "Вийти з поточної гри?" IDS_SOL_QUIT "Вийти з поточної гри?"
IDS_SOL_WIN "Вітання, Ви виграли!!" IDS_SOL_WIN "Вітання, Ви виграли!!"
IDS_SOL_DEAL "Роздати знову?" IDS_SOL_DEAL "Роздати знову?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "纸牌" IDS_SOL_NAME "纸牌"
IDS_SOL_ABOUT "纸牌由 J Brown 开发\nCardLib 版本 1.0" IDS_SOL_ABOUT "纸牌由 J Brown 开发\n\nCardLib 版本 1.0"
IDS_SOL_QUIT "退出当前游戏?" IDS_SOL_QUIT "退出当前游戏?"
IDS_SOL_WIN "恭喜你,你赢了!" IDS_SOL_WIN "恭喜你,你赢了!"
IDS_SOL_DEAL "再玩一次?" IDS_SOL_DEAL "再玩一次?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "接龍" IDS_SOL_NAME "接龍"
IDS_SOL_ABOUT "接龍由 J Brown 開發\nCardLib 版本 1.0" IDS_SOL_ABOUT "接龍由 J Brown 開發\n\nCardLib 版本 1.0"
IDS_SOL_QUIT "退出目前遊戲?" IDS_SOL_QUIT "退出目前遊戲?"
IDS_SOL_WIN "恭喜您,您贏咗!!" IDS_SOL_WIN "恭喜您,您贏咗!!"
IDS_SOL_DEAL "再玩一次?" IDS_SOL_DEAL "再玩一次?"

View File

@@ -55,7 +55,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SOL_NAME "接龍" IDS_SOL_NAME "接龍"
IDS_SOL_ABOUT "接龍由 J Brown 開發\nCardLib 版本 1.0" IDS_SOL_ABOUT "接龍由 J Brown 開發\n\nCardLib 版本 1.0"
IDS_SOL_QUIT "退出目前遊戲?" IDS_SOL_QUIT "退出目前遊戲?"
IDS_SOL_WIN "恭喜您,您贏了!!" IDS_SOL_WIN "恭喜您,您贏了!!"
IDS_SOL_DEAL "再玩一次?" IDS_SOL_DEAL "再玩一次?"

View File

@@ -2,7 +2,6 @@
#include <winreg.h> #include <winreg.h>
#include <commctrl.h> #include <commctrl.h>
#include <shellapi.h>
#include <tchar.h> #include <tchar.h>
#include "resource.h" #include "resource.h"
@@ -739,8 +738,7 @@ LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
return 0; return 0;
case IDM_HELP_ABOUT: case IDM_HELP_ABOUT:
ShellAbout(hwnd, szAppName, MsgAbout, MessageBox(hwnd, MsgAbout, szAppName, MB_OK|MB_ICONINFORMATION);
LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SOLITAIRE)));
return 0; return 0;
case IDM_GAME_EXIT: case IDM_GAME_EXIT:

View File

@@ -10,5 +10,5 @@ target_link_libraries(spider cardlib)
target_include_directories(spider PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(spider PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
add_pch(spider spider.h SOURCE) add_pch(spider spider.h SOURCE)
set_module_type(spider win32gui UNICODE) set_module_type(spider win32gui UNICODE)
add_importlibs(spider advapi32 comctl32 shell32 user32 gdi32 msvcrt kernel32) add_importlibs(spider advapi32 comctl32 user32 gdi32 msvcrt kernel32)
add_cd_file(TARGET spider DESTINATION reactos/system32 FOR all) add_cd_file(TARGET spider DESTINATION reactos/system32 FOR all)

View File

@@ -40,7 +40,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SPI_NAME "Паяк" IDS_SPI_NAME "Паяк"
IDS_SPI_ABOUT "Spider Solitaire by Gregor Schneider\nCardLib version 1.0" IDS_SPI_ABOUT "Spider Solitaire by Gregor Schneider\n\nCardLib version 1.0"
IDS_SPI_QUIT "Изход от текушата игра?" IDS_SPI_QUIT "Изход от текушата игра?"
IDS_SPI_WIN "Поздравления, спечелихте!" IDS_SPI_WIN "Поздравления, спечелихте!"
IDS_SPI_DEAL "Ново раздаване?" IDS_SPI_DEAL "Ново раздаване?"

View File

@@ -40,7 +40,7 @@ END
STRINGTABLE STRINGTABLE
BEGIN BEGIN
IDS_SPI_NAME "Spider" IDS_SPI_NAME "Spider"
IDS_SPI_ABOUT "Spider Solitaire vytvořil Gregor Schneider\nCardLib verze 1.0" IDS_SPI_ABOUT "Spider Solitaire vytvořil Gregor Schneider\n\nCardLib verze 1.0"
IDS_SPI_QUIT "Ukončit hru?" IDS_SPI_QUIT "Ukončit hru?"
IDS_SPI_WIN "Gratulace k výhře!" IDS_SPI_WIN "Gratulace k výhře!"
IDS_SPI_DEAL "Rozdat znovu?" IDS_SPI_DEAL "Rozdat znovu?"

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