mirror of
https://github.com/reactos/reactos
synced 2025-10-06 16:32:42 +02:00
Compare commits
1 Commits
netstat_so
...
sndblst
Author | SHA1 | Date | |
---|---|---|---|
|
10ddfd2868 |
@@ -1,35 +0,0 @@
|
||||
# full manual is at https://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
||||
---
|
||||
BasedOnStyle: Microsoft
|
||||
|
||||
IndentWidth: 4
|
||||
UseTab: Never
|
||||
|
||||
IndentCaseLabels: true
|
||||
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
|
||||
BinPackParameters: false
|
||||
BinPackArguments: true
|
||||
|
||||
# This applies to () [] <>
|
||||
AlignAfterOpenBracket: AlwaysBreak
|
||||
|
||||
# Always break before braces
|
||||
BreakBeforeBraces: Allman
|
||||
|
||||
# return type on it's own line
|
||||
AlwaysBreakAfterReturnType: All
|
||||
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 1
|
||||
SpacesInAngles: false
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
...
|
@@ -1,14 +0,0 @@
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
insert_final_newline = true
|
||||
charset = utf-8
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{json,yml,md}]
|
||||
indent_size = 2
|
83
.gitattributes
vendored
83
.gitattributes
vendored
@@ -1,83 +0,0 @@
|
||||
# Set the default behavior, in case people don't have core.autocrlf set.
|
||||
* text=auto
|
||||
|
||||
# Files with these extensions are accepted source files inside the ReactOS
|
||||
# tree. They should have native line endings of the OS.
|
||||
*.acf text
|
||||
*.asm text
|
||||
*.c text
|
||||
*.cc text
|
||||
*.cmake text
|
||||
*.cpp text
|
||||
*.cxx text
|
||||
*.h text
|
||||
*.hpp text
|
||||
*.hxx text
|
||||
*.idl text
|
||||
*.inc text
|
||||
*.inl text
|
||||
*.klc text
|
||||
*.l text
|
||||
*.lds text
|
||||
*.md text
|
||||
*.rc text
|
||||
*.s text
|
||||
*.S text
|
||||
*.sfd text
|
||||
*.spec text
|
||||
*.svg text
|
||||
*.txt text
|
||||
*.TXT text
|
||||
*.y text
|
||||
|
||||
# Files with these extensions end up in the built ReactOS system, so they
|
||||
# need to have CRLF line endings.
|
||||
*.bat text eol=crlf
|
||||
*.cmd text eol=crlf
|
||||
*.exp text eol=crlf
|
||||
*.hhc text eol=crlf
|
||||
*.hhp text eol=crlf
|
||||
*.ini text eol=crlf
|
||||
*.INI text eol=crlf
|
||||
*.inf text eol=crlf
|
||||
*.inf.tpl text eol=crlf
|
||||
*.js text eol=crlf
|
||||
*.manifest text eol=crlf
|
||||
*.mc text eol=crlf
|
||||
*.mof text eol=crlf
|
||||
*.rgs text eol=crlf
|
||||
*.sif text eol=crlf
|
||||
*.vbs text eol=crlf
|
||||
*.vcxproj text eol=crlf
|
||||
*.xml text eol=crlf
|
||||
|
||||
# Files with these extensions are accepted binary files inside the ReactOS
|
||||
# tree. Git must not tamper with them at all!
|
||||
*.avi binary
|
||||
*.bin binary
|
||||
*.bmf binary
|
||||
*.bmp binary
|
||||
*.BMP binary
|
||||
*.chm binary
|
||||
*.cur binary
|
||||
*.dll binary
|
||||
*.emf binary
|
||||
*.gif binary
|
||||
*.ico binary
|
||||
*.jpg binary
|
||||
*.mp3 binary
|
||||
*.nls binary
|
||||
*.otf binary
|
||||
*.pdn binary
|
||||
*.pfb binary
|
||||
*.pfm binary
|
||||
*.png binary
|
||||
*.psd binary
|
||||
*.ttc binary
|
||||
*.ttf binary
|
||||
*.wav binary
|
||||
*.xcf binary
|
||||
|
||||
# All other extensions not explicitly mentioned here are left for Git to
|
||||
# handle automatically.
|
||||
# You must not rely on them having a particular line ending style!
|
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@@ -1,2 +0,0 @@
|
||||
custom: ['https://reactos.org/donate/', 'https://www.paypal.me/ReactOS']
|
||||
liberapay: ReactOS
|
19
.github/PULL_REQUEST_TEMPLATE.md
vendored
19
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,19 +0,0 @@
|
||||
## Purpose
|
||||
|
||||
_Do a quick recap of your work here._
|
||||
|
||||
JIRA issue: [CORE-XXXX](https://jira.reactos.org/browse/CORE-XXXX)
|
||||
|
||||
## Proposed changes
|
||||
|
||||
_Describe what you propose to change/add/fix with this pull request._
|
||||
|
||||
-
|
||||
-
|
||||
|
||||
## TODO
|
||||
|
||||
_Use a TODO when your pull request is Work in Progress._
|
||||
|
||||
- [ ]
|
||||
- [ ]
|
29
.github/labeler.yml
vendored
29
.github/labeler.yml
vendored
@@ -1,29 +0,0 @@
|
||||
# Labelling by the files touched
|
||||
|
||||
ATL:
|
||||
- sdk/lib/atl/**
|
||||
|
||||
drivers:
|
||||
- drivers/**
|
||||
- sdk/lib/drivers/**
|
||||
- any: ["win32ss/drivers/**", "!win32ss/drivers/font/**"]
|
||||
|
||||
freeldr:
|
||||
- boot/freeldr/**
|
||||
|
||||
"kernel&hal":
|
||||
- hal/**
|
||||
- ntoskrnl/**
|
||||
|
||||
ROSTESTS:
|
||||
- modules/rostests/**
|
||||
|
||||
shell:
|
||||
- base/shell/explorer/**
|
||||
- base/shell/rshell/**
|
||||
- dll/shellext/**
|
||||
- dll/win32/browseui/**
|
||||
- dll/win32/shell32/**
|
||||
|
||||
Win32SS:
|
||||
- win32ss/**
|
300
.github/workflows/build.yml
vendored
300
.github/workflows/build.yml
vendored
@@ -1,300 +0,0 @@
|
||||
name: Build
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
strategy:
|
||||
matrix:
|
||||
compiler: [gcc, clang]
|
||||
arch: [i386, amd64]
|
||||
config: [Debug, Release]
|
||||
fail-fast: false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get RosBE build specifics
|
||||
id: get_rosbe_spec
|
||||
run: |
|
||||
gcc -march=native -Q --help=target | grep "\-march= " | awk '{print $NF}'
|
||||
echo ::set-output name=march-sha::$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}')
|
||||
echo ::set-output name=git-sha::$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}')
|
||||
wget https://gist.githubusercontent.com/zefklop/b2d6a0b470c70183e93d5285a03f5899/raw/build_rosbe_ci.sh
|
||||
- name: Get RosBE
|
||||
id: get_rosbe
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: RosBE-CI
|
||||
key: RosBE-CI-${{runner.os}}-${{steps.get_rosbe_spec.outputs.march-sha}}-${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}
|
||||
- name: Compile RosBE
|
||||
if: ${{ steps.get_rosbe.outputs.cache-hit != 'true' }}
|
||||
run: |
|
||||
chmod +x build_rosbe_ci.sh
|
||||
./build_rosbe_ci.sh ${{github.workspace}}/RosBE-CI
|
||||
- name: Install ccache
|
||||
run: sudo apt install ccache
|
||||
- name: Install LLVM
|
||||
if: ${{ matrix.compiler == 'clang' }}
|
||||
run: |
|
||||
export LLVM_VERSION=13
|
||||
wget https://apt.llvm.org/llvm.sh
|
||||
chmod +x llvm.sh
|
||||
sudo ./llvm.sh $LLVM_VERSION
|
||||
echo "D_CLANG_VERSION=-DCLANG_VERSION=$LLVM_VERSION" >> $GITHUB_ENV
|
||||
- name: Source checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: src
|
||||
- name: Set up cache for ccache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ccache
|
||||
key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
ccache-${{matrix.compiler}}-${{matrix.arch}}-
|
||||
- name: Set ccache settings
|
||||
run: |
|
||||
echo "CCACHE_BASEDIR=${{github.workspace}}" >> $GITHUB_ENV
|
||||
echo "CCACHE_DIR=${{github.workspace}}/ccache" >> $GITHUB_ENV
|
||||
echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV
|
||||
echo "CCACHE_SLOPPINESS=time_macros" >> $GITHUB_ENV
|
||||
- name: Ease ccache compiler check (GCC)
|
||||
if: ${{ matrix.compiler == 'gcc' }}
|
||||
run: echo "CCACHE_COMPILERCHECK=string:${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}" >> $GITHUB_ENV
|
||||
- name: Configure
|
||||
run: echo 'cmake -S ${{github.workspace}}/src -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-${{matrix.compiler}}.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{env.D_CLANG_VERSION}}' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
|
||||
- name: Build
|
||||
run: echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
|
||||
- name: Generate ISOs
|
||||
run: echo 'cmake --build ${{github.workspace}}/build --target bootcd --target livecd' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
|
||||
- name: Print ccache statistics
|
||||
run: ccache -s
|
||||
- name: Upload ISOs
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
|
||||
path: |
|
||||
build/bootcd.iso
|
||||
build/livecd.iso
|
||||
|
||||
build-msvc:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-latest, windows-2019]
|
||||
toolset: ['14.2', '14.1', '14.0'] # VS 2019, 2017, and 2015 (see below)
|
||||
arch: [i386, amd64]
|
||||
config: [Debug, Release]
|
||||
exclude: # VS 2019, 2017 only with windows-latest; VS 2015 only with windows-2019
|
||||
- os: windows-2019
|
||||
toolset: '14.2'
|
||||
- os: windows-2019
|
||||
toolset: '14.1'
|
||||
- os: windows-latest
|
||||
toolset: '14.0'
|
||||
fail-fast: false
|
||||
runs-on: ${{matrix.os}}
|
||||
steps:
|
||||
- name: Install ninja
|
||||
run: choco install -y ninja
|
||||
- name: Install Flex & Bison
|
||||
run: |
|
||||
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
|
||||
7z x flexbison.7z -O${{github.workspace}}\bin
|
||||
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
- name: Activate VS cmd (x86)
|
||||
if: ${{ matrix.arch == 'i386' }}
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: amd64_x86
|
||||
toolset: ${{matrix.toolset}}
|
||||
- name: Activate VS cmd (amd64)
|
||||
if: ${{ matrix.arch == 'amd64' }}
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: amd64
|
||||
toolset: ${{matrix.toolset}}
|
||||
- name: Source checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: src
|
||||
- name: Configure
|
||||
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
|
||||
- name: Build
|
||||
run: cmake --build build -- -k0
|
||||
- name: Generate ISOs
|
||||
run: cmake --build build --target bootcd --target livecd
|
||||
- name: Upload ISOs
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
|
||||
path: |
|
||||
build/bootcd.iso
|
||||
build/livecd.iso
|
||||
- name: Upload debug symbols
|
||||
if: ${{ matrix.config == 'Debug' }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
|
||||
path: build/msvc_pdb
|
||||
|
||||
build-msvc-arm:
|
||||
strategy:
|
||||
matrix:
|
||||
toolset: ['14.2', '14.1'] # VS 2019, 2017
|
||||
arch: [arm, arm64]
|
||||
config: [Debug, Release]
|
||||
fail-fast: false
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Install ninja
|
||||
run: choco install -y ninja
|
||||
- name: Install Flex & Bison
|
||||
run: |
|
||||
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
|
||||
7z x flexbison.7z -O${{github.workspace}}\bin
|
||||
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
- name: Activate VS cmd (arm)
|
||||
if: ${{ matrix.arch == 'arm' }}
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: amd64_arm
|
||||
toolset: ${{matrix.toolset}}
|
||||
- name: Activate VS cmd (arm64)
|
||||
if: ${{ matrix.arch == 'arm64' }}
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: amd64_arm64
|
||||
toolset: ${{matrix.toolset}}
|
||||
- name: Source checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: src
|
||||
- name: Configure
|
||||
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
|
||||
- name: Build base module
|
||||
if: ${{ matrix.arch == 'arm' }}
|
||||
run: cmake --build build --target base/all
|
||||
- name: Build control panel applets
|
||||
if: ${{ matrix.arch == 'arm' }}
|
||||
run: cmake --build build --target dll/cpl/all
|
||||
- name: Build rosapps
|
||||
if: ${{ matrix.arch == 'arm' }}
|
||||
run: cmake --build build --target modules/rosapps/all
|
||||
- name: Build some applications (arm64)
|
||||
if: ${{ matrix.arch == 'arm64' }}
|
||||
run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0
|
||||
- name: Upload compiled binaries
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
|
||||
path: |
|
||||
build/base
|
||||
build/dll/cpl
|
||||
build/modules/rosapps
|
||||
!**/CMakeFiles
|
||||
!**/cmake_install.cmake
|
||||
!**/*.asm
|
||||
!**/*.bin
|
||||
!**/*.c
|
||||
!**/*.def
|
||||
!**/*.exp
|
||||
!**/*.h
|
||||
!**/*.lib
|
||||
!**/*.mc
|
||||
!**/*.obj
|
||||
!**/*.rc
|
||||
!**/*.tlb
|
||||
- name: Upload debug symbols
|
||||
if: ${{ matrix.config == 'Debug' }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
|
||||
path: build/msvc_pdb
|
||||
|
||||
build-clang-cl:
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [i386, amd64]
|
||||
config: [Debug, Release]
|
||||
fail-fast: false
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Install ninja
|
||||
run: choco install -y ninja
|
||||
- name: Install LLVM
|
||||
run: |
|
||||
choco install -y --allow-downgrade llvm --version 13.0.1
|
||||
echo "LLVM_PATH=${env:PROGRAMFILES}\llvm\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
- name: Install Flex & Bison
|
||||
run: |
|
||||
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
|
||||
7z x flexbison.7z -O${{github.workspace}}\bin
|
||||
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
- name: Activate VS cmd (x86)
|
||||
if: ${{ matrix.arch == 'i386' }}
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: amd64_x86
|
||||
toolset: '14.1' # latest masm build known to make bootable builds
|
||||
- name: Activate VS cmd (amd64)
|
||||
if: ${{ matrix.arch == 'amd64' }}
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: amd64
|
||||
toolset: '14.1' # latest masm build known to make bootable builds
|
||||
- name: Add LLVM to PATH
|
||||
run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
- name: Source checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: src
|
||||
- name: Configure
|
||||
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DUSE_CLANG_CL:BOOL=TRUE
|
||||
- name: Build
|
||||
run: cmake --build build -- -k0
|
||||
- name: Generate ISOs
|
||||
run: cmake --build build --target bootcd --target livecd
|
||||
- name: Upload ISOs
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
|
||||
path: |
|
||||
build/bootcd.iso
|
||||
build/livecd.iso
|
||||
- name: Upload debug symbols
|
||||
if: ${{ matrix.config == 'Debug' }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
|
||||
path: build/msvc_pdb
|
||||
|
||||
# Disable MSBuild for the moment being until a proper fix is provided -- see CORE-18911
|
||||
# build-msbuild-i386:
|
||||
# name: MSBuild (i386)
|
||||
# runs-on: windows-2019
|
||||
# steps:
|
||||
# - name: Install Flex and Bison
|
||||
# run: |
|
||||
# curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
|
||||
# 7z x flexbison.7z -O${{github.workspace}}\bin
|
||||
# echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||
# echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
# echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
||||
# - name: Add CL to PATH
|
||||
# uses: ilammy/msvc-dev-cmd@v1
|
||||
# with:
|
||||
# arch: amd64_x86
|
||||
# - uses: actions/checkout@v2
|
||||
# with:
|
||||
# path: src
|
||||
# - name: Configure
|
||||
# run: |
|
||||
# mkdir build
|
||||
# cd build
|
||||
# cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
|
||||
# - name: Build
|
||||
# run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd
|
11
.github/workflows/labeler.yml
vendored
11
.github/workflows/labeler.yml
vendored
@@ -1,11 +0,0 @@
|
||||
name: "Pull Request Labeler"
|
||||
on:
|
||||
- pull_request_target
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@v3
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
33
.github/workflows/stale.yml
vendored
33
.github/workflows/stale.yml
vendored
@@ -1,33 +0,0 @@
|
||||
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
|
||||
#
|
||||
# You can adjust the behavior by modifying this file.
|
||||
# For more information, see:
|
||||
# https://github.com/actions/stale
|
||||
name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '43 0 * * *'
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v5
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 120
|
||||
days-before-issue-stale: -1
|
||||
days-before-close: 14
|
||||
days-before-issue-close: -1
|
||||
exempt-all-assignees: true
|
||||
exempt-draft-pr: true
|
||||
stale-pr-message: 'This PR is stale because it received no updates in the last 4 months. Without removing the stale label, or commenting on this ticket it will be closed in 2 weeks.'
|
||||
stale-issue-label: 'no-issue-activity'
|
||||
stale-pr-label: 'no-pr-activity'
|
||||
operations-per-run: 100
|
15
.gitignore
vendored
15
.gitignore
vendored
@@ -1,15 +0,0 @@
|
||||
compile_commands.json
|
||||
output-*
|
||||
modules/optional
|
||||
modules/bootcd_extras
|
||||
modules/livecd_extras
|
||||
modules/hybridcd_extras
|
||||
modules/3rdparty
|
||||
modules/[Aa][Hh][Kk]_[Tt]ests
|
||||
.cache
|
||||
.cproject
|
||||
.DS_Store
|
||||
.project
|
||||
.settings
|
||||
.vscode
|
||||
sdk/tools/winesync/winesync.cfg
|
22
.gitmessage
22
.gitmessage
@@ -1,22 +0,0 @@
|
||||
|
||||
# Commit message example
|
||||
# ----------------------
|
||||
# [MODULE] A short but descriptive summary (#pr-num)
|
||||
#
|
||||
# A comprehensible description of WHY you did this work. Do not limit
|
||||
# yourself here.
|
||||
# The width of the description is arbitary, but it is a good idea to
|
||||
# wrap the text by 72 chars.
|
||||
#
|
||||
# CORE-XXXX CIDXXXXX
|
||||
# ----------------------
|
||||
# * [MODULE] should usually be the name of the CMake module, written
|
||||
# in all caps.
|
||||
# * Summary should be imperative (not past tense) and not end with a
|
||||
# period.
|
||||
# * Description of a commit should explain WHY a change was made.
|
||||
# * JIRA, Coverity ID references should be placed at the bottom row.
|
||||
# * There must be a newline between summary, description and bug IDs.
|
||||
# * GitHub Pull Request ID should be referenced in the summary in
|
||||
# parens. If the resulting summary is longer than 70 chars it may
|
||||
# be placed last in the ID row to prevent hard wrapping on GitHub.
|
22
.gitpod.Dockerfile
vendored
22
.gitpod.Dockerfile
vendored
@@ -1,22 +0,0 @@
|
||||
FROM gitpod/workspace-full-vnc
|
||||
|
||||
USER gitpod
|
||||
|
||||
# Install custom tools, runtime, etc. using apt-get
|
||||
# For example, the command below would install "bastet" - a command line tetris clone:
|
||||
#
|
||||
# RUN sudo apt-get -q update && # sudo apt-get install -yq bastet && # sudo rm -rf /var/lib/apt/lists/*
|
||||
#
|
||||
# More information: https://www.gitpod.io/docs/config-docker/
|
||||
RUN sudo apt-get -q update && \
|
||||
sudo apt-get -yq upgrade && \
|
||||
sudo apt-get -yq install qemu-system-x86 qemu-utils gdb-mingw-w64 && \
|
||||
sudo rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN wget https://svn.reactos.org/amine/RosBEBinFull.tar.gz && \
|
||||
sudo tar -xzvf RosBEBinFull.tar.gz -C /usr/local --one-top-level=RosBE --strip-components 1 && \
|
||||
rm -f RosBEBinFull.tar.gz
|
||||
|
||||
RUN echo 'export PATH=/usr/local/RosBE/i386/bin:$PATH' >> /home/gitpod/.profile
|
||||
|
||||
RUN qemu-img create -f qcow2 reactos_hdd.qcow 10G
|
18
.gitpod.yml
18
.gitpod.yml
@@ -1,18 +0,0 @@
|
||||
tasks:
|
||||
- before: >
|
||||
brew install cmake ninja
|
||||
init: >
|
||||
mkdir -p /workspace/reactos/build &&
|
||||
cd /workspace/reactos/build &&
|
||||
cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGDB:BOOL=TRUE -DSEPARATE_DBG:BOOL=TRUE -D_WINKD_:BOOL=TRUE -DKDBG:BOOL=FALSE -DENABLE_ROSTESTS:BOOL=TRUE -DCMAKE_TOOLCHAIN_FILE=toolchain-gcc.cmake -G "Ninja" &&
|
||||
ninja xdk psdk
|
||||
command: >
|
||||
cd /workspace/reactos/build &&
|
||||
ninja all
|
||||
|
||||
image:
|
||||
file: .gitpod.Dockerfile
|
||||
|
||||
vscode:
|
||||
extensions:
|
||||
- ms-vscode.cpptools@0.27.0-insiders3:Djj3Csw0GXjmueWAPWvTsg==
|
@@ -1,29 +0,0 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"name": "livecd (qemu)",
|
||||
"preLaunchTask": "launch livecd",
|
||||
"miDebuggerServerAddress": "localhost:9091",
|
||||
"miDebuggerArgs": "-l 15 -ex 'set sysroot ${workspaceRoot}/build/symbols'",
|
||||
"program": "${workspaceRoot}/build/ntoskrnl/ntoskrnl.exe",
|
||||
"cwd": "${workspaceRoot}/build",
|
||||
"miDebuggerPath": "i686-w64-mingw32-gdb"
|
||||
},
|
||||
{
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"name": "bootcd (qemu)",
|
||||
"preLaunchTask": "launch bootcd",
|
||||
"miDebuggerServerAddress": "localhost:9091",
|
||||
"miDebuggerArgs": "-l 15 -ex 'set sysroot ${workspaceRoot}/build/symbols'",
|
||||
"program": "${workspaceRoot}/build/ntoskrnl/ntoskrnl.exe",
|
||||
"cwd": "${workspaceRoot}/build",
|
||||
"miDebuggerPath": "i686-w64-mingw32-gdb"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"cpp.buildConfigurations": [
|
||||
{
|
||||
"name": "build",
|
||||
"directory": "${workspaceFolder}/build"
|
||||
}
|
||||
],
|
||||
"cpp.clangdArgs": "--background-index",
|
||||
"C_Cpp.intelliSenseEngine": "Disabled",
|
||||
}
|
@@ -1,91 +0,0 @@
|
||||
{
|
||||
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
||||
// for the documentation about the tasks.json format
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "build livecd",
|
||||
"type": "shell",
|
||||
"command": "ninja livecd",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/build"
|
||||
},
|
||||
"group": "build",
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "cpp",
|
||||
"fileLocation": ["relative", "${workspaceFolder}/build"],
|
||||
"pattern": {
|
||||
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"severity": 4,
|
||||
"message": 5
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "build bootcd",
|
||||
"type": "shell",
|
||||
"command": "ninja bootcd",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/build"
|
||||
},
|
||||
"group": "build",
|
||||
"problemMatcher": [
|
||||
{
|
||||
"base": "$gcc",
|
||||
"fileLocation": ["relative", "${workspaceFolder}/build"],
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "launch livecd",
|
||||
"type": "process",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/build"
|
||||
},
|
||||
"dependsOn": [
|
||||
"build livecd"
|
||||
],
|
||||
"dependsOrder": "sequence",
|
||||
"command": "qemu-system-i386",
|
||||
"args": [
|
||||
"-cdrom", "livecd.iso",
|
||||
"-chardev", "socket,port=9091,host=localhost,server,nowait,id=char0",
|
||||
"-serial", "chardev:char0",
|
||||
"-nic", "user,model=e1000",
|
||||
"-boot", "d",
|
||||
"-chardev", "socket,path=/tmp/livecd_dbg,server,nowait,id=char1", "-serial", "chardev:char1",
|
||||
"-daemonize"
|
||||
],
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "launch bootcd",
|
||||
"type": "process",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}/build"
|
||||
},
|
||||
"dependsOn": [
|
||||
"build bootcd"
|
||||
],
|
||||
"dependsOrder": "sequence",
|
||||
"command": "qemu-system-i386",
|
||||
"args": [
|
||||
"-cdrom", "bootcd.iso",
|
||||
"-hda", "${env:HOME}/reactos_hdd.qcow",
|
||||
"-boot", "d",
|
||||
"-m", "1024",
|
||||
"-chardev", "socket,port=9091,host=localhost,server,nowait,id=char0",
|
||||
"-serial", "chardev:char0",
|
||||
"-nic", "user,model=e1000",
|
||||
"-chardev", "socket,path=/tmp/bootcd_dbg,server,nowait,id=char1", "-serial", "chardev:char1",
|
||||
"-daemonize"
|
||||
],
|
||||
"problemMatcher": []
|
||||
},
|
||||
],
|
||||
}
|
299
CMakeLists.txt
299
CMakeLists.txt
@@ -1,36 +1,48 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.17.0)
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
|
||||
if(NOT CMAKE_VERSION MATCHES "ReactOS")
|
||||
message(WARNING "Building with \"${CMAKE_COMMAND}\", which is not the custom CMake included in RosBE, might cause build issues...")
|
||||
if(POLICY CMP0017)
|
||||
# Shadow cmake provided modules
|
||||
cmake_policy(SET CMP0017 OLD)
|
||||
endif()
|
||||
|
||||
include(CMakeDependentOption)
|
||||
if(POLICY CMP0026)
|
||||
# Allow use of the LOCATION property
|
||||
cmake_policy(SET CMP0026 OLD)
|
||||
endif()
|
||||
|
||||
# CMAKE_CROSSCOMPILING and MSVC_IDE are not set until project() is called, so let's test this instead
|
||||
if ((DEFINED CMAKE_TOOLCHAIN_FILE) AND (CMAKE_GENERATOR MATCHES "Visual Studio.*"))
|
||||
# Do not use MSVC_RUNTIME_LIBRARY target property. We use our own flags instead
|
||||
message(WARNING "Setting policy CMP0091 to OLD behaviour")
|
||||
cmake_policy(SET CMP0091 OLD)
|
||||
if(POLICY CMP0051)
|
||||
# List TARGET_OBJECTS in SOURCES target property
|
||||
cmake_policy(SET CMP0051 NEW)
|
||||
endif()
|
||||
|
||||
project(REACTOS)
|
||||
|
||||
# Versioning
|
||||
include(sdk/include/reactos/version.cmake)
|
||||
|
||||
# Don't escape preprocessor definition values added via add_definitions
|
||||
cmake_policy(SET CMP0005 OLD)
|
||||
cmake_policy(SET CMP0002 NEW)
|
||||
if(POLICY CMP0018)
|
||||
cmake_policy(SET CMP0018 OLD)
|
||||
endif()
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||
set(CMAKE_SHARED_MODULE_PREFIX "")
|
||||
set(CMAKE_SKIP_PREPROCESSED_SOURCE_RULES TRUE)
|
||||
set(CMAKE_SKIP_ASSEMBLY_SOURCE_RULES TRUE)
|
||||
set(CMAKE_COLOR_MAKEFILE OFF)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
#set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
|
||||
set(CMAKE_SKIP_INSTALL_RULES ON)
|
||||
|
||||
if(NOT DEFINED NEW_STYLE_BUILD)
|
||||
set(NEW_STYLE_BUILD TRUE)
|
||||
endif()
|
||||
|
||||
# check that the ARCH (target architecture) variable is defined
|
||||
if(NOT ARCH)
|
||||
message(FATAL_ERROR "Target architecture (ARCH) is not defined. Please, choose one of: i386, amd64, arm, arm64")
|
||||
set(ARCH i386)
|
||||
endif()
|
||||
# Now the ARCH variable will be in lowercase.
|
||||
# It is needed because STREQUAL comparison
|
||||
@@ -39,147 +51,77 @@ endif()
|
||||
# for more information.
|
||||
string(TOLOWER ${ARCH} ARCH)
|
||||
|
||||
# set possible values for cmake GUI
|
||||
set_property(CACHE ARCH PROPERTY STRINGS "i386" "amd64" "arm" "arm64")
|
||||
|
||||
# Alternative WinNT-compatible architecture string
|
||||
if(ARCH STREQUAL "i386")
|
||||
set(WINARCH "x86")
|
||||
else()
|
||||
set(WINARCH ${ARCH})
|
||||
endif()
|
||||
|
||||
# set CMAKE_BUILD_TYPE if not set
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
message(STATUS "Setting build type to Debug as none was specified.")
|
||||
set(CMAKE_BUILD_TYPE "Debug" CACHE
|
||||
STRING "Choose the type of build." FORCE)
|
||||
# Set the possible values of build type for cmake-gui
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
|
||||
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
|
||||
endif()
|
||||
|
||||
# Versioning
|
||||
include(sdk/include/reactos/version.cmake)
|
||||
|
||||
# Compile options
|
||||
include(sdk/cmake/config.cmake)
|
||||
if(ARCH STREQUAL "i386")
|
||||
include(sdk/cmake/config.cmake)
|
||||
elseif(ARCH STREQUAL "amd64")
|
||||
include(sdk/cmake/config-amd64.cmake)
|
||||
elseif(ARCH STREQUAL "arm")
|
||||
include(sdk/cmake/config-arm.cmake)
|
||||
endif()
|
||||
|
||||
# Compiler flags handling
|
||||
include(sdk/cmake/compilerflags.cmake)
|
||||
|
||||
add_definitions(
|
||||
-D__REACTOS__
|
||||
# swprintf without count argument is used in most of the codebase
|
||||
-D_CRT_NON_CONFORMING_SWPRINTFS
|
||||
)
|
||||
|
||||
# There doesn't seem to be a standard for __FILE__ being relative or absolute, so detect it at runtime.
|
||||
file(RELATIVE_PATH _PATH_PREFIX ${REACTOS_BINARY_DIR} ${REACTOS_SOURCE_DIR})
|
||||
if (NOT MSVC AND ((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "8.0.0")
|
||||
OR (CMAKE_C_COMPILER_ID STREQUAL "Clang") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "10.0.0")))
|
||||
# Thankfully, GCC has this
|
||||
add_compile_options(-ffile-prefix-map=${REACTOS_SOURCE_DIR}=)
|
||||
add_compile_options(-ffile-prefix-map=${_PATH_PREFIX}=)
|
||||
else()
|
||||
string(LENGTH ${_PATH_PREFIX} _PATH_PREFIX_LENGTH)
|
||||
string(LENGTH ${REACTOS_SOURCE_DIR} REACTOS_SOURCE_DIR_LENGTH)
|
||||
math(EXPR REACTOS_SOURCE_DIR_LENGTH "${REACTOS_SOURCE_DIR_LENGTH} + 1")
|
||||
add_compile_definitions("$<$<COMPILE_LANGUAGE:C,CXX>:__RELFILE__=&__FILE__[__FILE__[0] == '.' ? ${_PATH_PREFIX_LENGTH} : ${REACTOS_SOURCE_DIR_LENGTH}]>")
|
||||
endif()
|
||||
add_definitions(-D__REACTOS__)
|
||||
|
||||
if(MSVC_IDE)
|
||||
add_compile_options("/MP")
|
||||
add_compile_flags("/MP")
|
||||
endif()
|
||||
|
||||
# We don't need CMake importlib handling.
|
||||
# FIXME: Remove the MSVC_IDE condition when the upcoming RosBE lands.
|
||||
if(NOT MSVC_IDE)
|
||||
unset(CMAKE_IMPORT_LIBRARY_SUFFIX)
|
||||
endif()
|
||||
|
||||
# Bison and Flex support
|
||||
find_package(BISON REQUIRED)
|
||||
find_package(FLEX REQUIRED)
|
||||
|
||||
if(MSVC_IDE)
|
||||
# Bison needs M4 and BISON_PKGDATADIR set at build time,
|
||||
# but visual studio is hardly ever opened from the configure-time environment.
|
||||
# Since cmake does not support setting env variables for a custom command,
|
||||
# we have to write a wrapper that sets the variables and then executes bison.
|
||||
# Idea taken from https://stackoverflow.com/a/35032051/4928207
|
||||
if(DEFINED ENV{M4})
|
||||
# Store this environment variable for configure re-runs from withing visual studio.
|
||||
SET(ROS_SAVED_M4 "$ENV{M4}" CACHE INTERNAL "")
|
||||
endif()
|
||||
if(DEFINED ENV{BISON_PKGDATADIR})
|
||||
SET(ROS_SAVED_BISON_PKGDATADIR "$ENV{BISON_PKGDATADIR}" CACHE INTERNAL "")
|
||||
endif()
|
||||
|
||||
# Tell the user about a misconfigured environment
|
||||
if("x${ROS_SAVED_M4}x" STREQUAL "xx" OR "x${ROS_SAVED_BISON_PKGDATADIR}x" STREQUAL "xx")
|
||||
message(FATAL_ERROR "\nM4 or BISON_PKGDATADIR environment variables not set, cannot continue!\n"
|
||||
"See https://reactos.org/wiki/Visual_Studio for more information!")
|
||||
endif()
|
||||
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/bison_wrapper.cmd"
|
||||
"@ECHO OFF\n"
|
||||
"set M4=${ROS_SAVED_M4}\n"
|
||||
"set BISON_PKGDATADIR=${ROS_SAVED_BISON_PKGDATADIR}\n"
|
||||
"${BISON_EXECUTABLE} %*\n")
|
||||
set(BISON_EXECUTABLE "${CMAKE_BINARY_DIR}/bison_wrapper.cmd")
|
||||
# And the same hacks for FLEX
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/flex_wrapper.cmd"
|
||||
"@ECHO OFF\n"
|
||||
"set M4=${ROS_SAVED_M4}\n"
|
||||
"set BISON_PKGDATADIR=${ROS_SAVED_BISON_PKGDATADIR}\n"
|
||||
"${FLEX_EXECUTABLE} %*\n")
|
||||
set(FLEX_EXECUTABLE "${CMAKE_BINARY_DIR}/flex_wrapper.cmd")
|
||||
endif()
|
||||
# include(sdk/cmake/bison-flex.cmake)
|
||||
|
||||
if(NOT CMAKE_CROSSCOMPILING)
|
||||
set(TOOLS_FOLDER ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
if(NEW_STYLE_BUILD)
|
||||
set(TOOLS_FOLDER ${CMAKE_CURRENT_BINARY_DIR})
|
||||
endif()
|
||||
|
||||
add_definitions(-DTARGET_${ARCH})
|
||||
|
||||
if(MSVC)
|
||||
if(ARCH STREQUAL "i386")
|
||||
add_definitions(/D_X86_ /D__i386__ /DWIN32 /D_WINDOWS)
|
||||
elseif(ARCH STREQUAL "amd64")
|
||||
add_definitions(-D_AMD64_ -D__x86_64__ /DWIN32 -D_WINDOWS)
|
||||
add_definitions(/D_X86_ /DWIN32 /D_WINDOWS)
|
||||
endif()
|
||||
if(MSVC_VERSION GREATER 1699)
|
||||
add_definitions(/D_ALLOW_KEYWORD_MACROS)
|
||||
endif()
|
||||
add_definitions(/Dinline=__inline)
|
||||
else()
|
||||
add_compile_flags("-fshort-wchar -Wno-multichar")
|
||||
endif()
|
||||
add_subdirectory(sdk/include/host)
|
||||
|
||||
add_subdirectory(dll/win32/dbghelp)
|
||||
include_directories(sdk/include/host)
|
||||
|
||||
if(NOT MSVC)
|
||||
add_subdirectory(dll/win32/dbghelp)
|
||||
endif()
|
||||
add_subdirectory(sdk/tools)
|
||||
add_subdirectory(sdk/lib)
|
||||
|
||||
set(NATIVE_TARGETS asmpp bin2c widl gendib cabman fatten hpp isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb)
|
||||
if(NOT MSVC)
|
||||
list(APPEND NATIVE_TARGETS rsym pefixup)
|
||||
if(NOT NEW_STYLE_BUILD)
|
||||
if(NOT MSVC)
|
||||
export(TARGETS bin2c widl gendib cabman cdmake fatten hpp mkhive obj2bin spec2def geninc rsym mkshelllink utf16le xml2sdb FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
|
||||
else()
|
||||
export(TARGETS bin2c widl gendib cabman cdmake fatten hpp mkhive obj2bin spec2def geninc mkshelllink utf16le xml2sdb FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS ${NATIVE_TARGETS})
|
||||
else()
|
||||
# Add host tools target
|
||||
include(sdk/cmake/host-tools.cmake)
|
||||
setup_host_tools()
|
||||
|
||||
# We don't need CMake importlib handling.
|
||||
unset(CMAKE_IMPORT_LIBRARY_SUFFIX)
|
||||
|
||||
# Print build type(s)
|
||||
if(CMAKE_CONFIGURATION_TYPES)
|
||||
# Multi-config generators, like Visual Studio (MSBuild).
|
||||
message("-- Configuration types: ${CMAKE_CONFIGURATION_TYPES}")
|
||||
else()
|
||||
# Single-configuration generators, like Ninja.
|
||||
message("-- Build type: ${CMAKE_BUILD_TYPE}")
|
||||
endif()
|
||||
|
||||
# Always add /MT in VS CMAKE_GENERATOR and define _SBCS otherwise VS thinks it's a multi-byte or whatever project
|
||||
if (MSVC_IDE)
|
||||
add_compile_options("/MT")
|
||||
add_compile_definitions(_SBCS)
|
||||
if(NEW_STYLE_BUILD)
|
||||
include(sdk/cmake/host-tools.cmake)
|
||||
endif()
|
||||
|
||||
# Print build type
|
||||
message("-- Build Type: ${CMAKE_BUILD_TYPE}")
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
@@ -188,26 +130,26 @@ else()
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
|
||||
|
||||
# Add our own target properties
|
||||
# General module definitions
|
||||
define_property(TARGET PROPERTY REACTOS_MODULE_TYPE
|
||||
BRIEF_DOCS "The type of this module"
|
||||
FULL_DOCS [[
|
||||
The type of this module.
|
||||
One of "nativecui", "nativedll", "kernelmodedriver", "wdmdriver", "kerneldll", "win32cui", "win32gui", "win32dll", "win32ocx", "cpl" or "module"]])
|
||||
#useful stuff!
|
||||
include(CMakeParseArguments)
|
||||
|
||||
# C++
|
||||
define_property(TARGET PROPERTY WITH_CXX_EXCEPTIONS
|
||||
BRIEF_DOCS "Enable C++ exceptions on this target"
|
||||
FULL_DOCS [[
|
||||
Enables C++ exception handling.
|
||||
Enable this if the module uses try/catch or throw. You might also need this if you use a standard operator new (the one without nothrow).]])
|
||||
define_property(TARGET PROPERTY WITH_CXX_RTTI
|
||||
BRIEF_DOCS "Enable C++ RTTI on this target"
|
||||
FULL_DOCS [[
|
||||
Enables run-time type information.
|
||||
Enable this if the module uses typeid or dynamic_cast. You will probably need to link yith cpprt as well, if you are not already using STL.]])
|
||||
# Do some cleanup
|
||||
file(REMOVE
|
||||
${REACTOS_BINARY_DIR}/dependencies.graphml
|
||||
${REACTOS_BINARY_DIR}/boot/ros_livecd.txt
|
||||
${REACTOS_BINARY_DIR}/boot/ros_livecd_target.txt
|
||||
${REACTOS_BINARY_DIR}/boot/ros_minicd.txt
|
||||
${REACTOS_BINARY_DIR}/boot/ros_minicd_target.txt
|
||||
${REACTOS_BINARY_DIR}/boot/ros_cab.txt
|
||||
${REACTOS_BINARY_DIR}/boot/ros_cab_target.txt)
|
||||
|
||||
if(NOT NEW_STYLE_BUILD)
|
||||
if(NOT DEFINED REACTOS_BUILD_TOOLS_DIR)
|
||||
set(REACTOS_BUILD_TOOLS_DIR ${REACTOS_SOURCE_DIR}/build)
|
||||
endif()
|
||||
set(IMPORT_EXECUTABLES "${REACTOS_BUILD_TOOLS_DIR}/ImportExecutables.cmake" CACHE FILEPATH "Host executables")
|
||||
include(${IMPORT_EXECUTABLES})
|
||||
endif()
|
||||
|
||||
if(DBG)
|
||||
add_definitions(-DDBG=1 -D_SEH_ENABLE_TRACE)
|
||||
@@ -215,15 +157,18 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
|
||||
add_definitions(-DDBG=0)
|
||||
endif()
|
||||
|
||||
if(ENABLE_CCACHE)
|
||||
message(WARNING "-- Disabling precompiled headers support (ccache).")
|
||||
option(PCH "Whether to use precompiled headers" OFF)
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
||||
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
message(WARNING "-- Disabling precompiled headers on GCC by default CORE-17108.")
|
||||
option(PCH "Whether to use precompiled headers" OFF)
|
||||
if(KDBG)
|
||||
add_definitions(-DKDBG=1)
|
||||
endif()
|
||||
|
||||
if(_WINKD_)
|
||||
add_definitions(-D_WINKD_=1)
|
||||
endif()
|
||||
|
||||
if(CMAKE_VERSION MATCHES "ReactOS")
|
||||
set(PCH 1 CACHE BOOL "Whether to use precompiled headers")
|
||||
else()
|
||||
option(PCH "Whether to use precompiled headers" ON)
|
||||
set(PCH 0 CACHE BOOL "Whether to use precompiled headers")
|
||||
endif()
|
||||
|
||||
# Version Options
|
||||
@@ -231,56 +176,32 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
|
||||
-D_WIN32_IE=0x600
|
||||
-D_WIN32_WINNT=0x502
|
||||
-D_WIN32_WINDOWS=0x502
|
||||
-D_SETUPAPI_VER=0x502
|
||||
-DMINGW_HAS_SECURE_API=1)
|
||||
-D_SETUPAPI_VER=0x502)
|
||||
|
||||
# Arch Options
|
||||
if(ARCH STREQUAL "i386")
|
||||
# clang-cl defines this one for itself
|
||||
if(NOT (MSVC AND CMAKE_C_COMPILER_ID STREQUAL "Clang"))
|
||||
add_definitions(-D_M_IX86)
|
||||
endif()
|
||||
add_definitions(-D_X86_ -D__i386__ -Di386)
|
||||
if(SARCH STREQUAL "xbox")
|
||||
add_definitions(-DSARCH_XBOX)
|
||||
elseif(SARCH STREQUAL "pc98")
|
||||
add_definitions(-DSARCH_PC98)
|
||||
endif()
|
||||
add_definitions(-D_M_IX86 -D_X86_ -D__i386__ -Di386)
|
||||
elseif(ARCH STREQUAL "amd64")
|
||||
# clang-cl defines this one for itself
|
||||
if (NOT (MSVC AND CMAKE_C_COMPILER_ID STREQUAL "Clang"))
|
||||
add_compile_definitions(_M_AMD64)
|
||||
endif()
|
||||
add_definitions(-D_AMD64_ -D__x86_64__ -D_WIN64)
|
||||
add_definitions(-D_M_AMD64 -D_AMD64_ -D__x86_64__ -D_WIN64)
|
||||
elseif(ARCH STREQUAL "arm")
|
||||
# _M_ARM is already defined by toolchain
|
||||
add_definitions(-D_ARM_ -D__arm__ -DWIN32)
|
||||
if(SARCH STREQUAL "omap3-zoom2")
|
||||
if(SARCH STREQUAL "omap-zoom2")
|
||||
add_definitions(-D_ZOOM2_)
|
||||
endif()
|
||||
elseif(ARCH STREQUAL "arm64")
|
||||
# GNU tools refer to arm64 as aarch64
|
||||
add_definitions(-D_ARM64_ -D__arm64__ -D__aarch64__ -D_WIN64)
|
||||
endif()
|
||||
|
||||
# Other
|
||||
add_definitions(-D_NEW_DELETE_OPERATORS_)
|
||||
if(ARCH STREQUAL "i386")
|
||||
add_definitions(-DUSE_COMPILER_EXCEPTIONS -D_USE_32BIT_TIME_T)
|
||||
elseif(ARCH STREQUAL "amd64")
|
||||
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
|
||||
add_definitions(-DUSE_COMPILER_EXCEPTIONS -DNO_UNDERSCORE_PREFIX)
|
||||
elseif(ARCH STREQUAL "arm")
|
||||
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
|
||||
elseif(ARCH STREQUAL "arm64")
|
||||
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
|
||||
add_definitions(-DUSE_COMPILER_EXCEPTIONS -DNO_UNDERSCORE_PREFIX)
|
||||
endif()
|
||||
|
||||
# Activate support for assembly source files
|
||||
if (MSVC)
|
||||
enable_language(ASM_MASM)
|
||||
else()
|
||||
enable_language(ASM)
|
||||
endif()
|
||||
enable_language(ASM)
|
||||
|
||||
# Activate language support for resource files
|
||||
enable_language(RC)
|
||||
@@ -314,7 +235,6 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
|
||||
${REACTOS_BINARY_DIR}/sdk/include/dxsdk
|
||||
${REACTOS_BINARY_DIR}/sdk/include/ddk
|
||||
${REACTOS_BINARY_DIR}/sdk/include/reactos
|
||||
${REACTOS_BINARY_DIR}/sdk/include/reactos/mc
|
||||
sdk/include/crt
|
||||
sdk/include/ddk
|
||||
sdk/include/ndk
|
||||
@@ -327,7 +247,6 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
|
||||
|
||||
add_dependency_header()
|
||||
|
||||
add_subdirectory(sdk/include/ndk/tests)
|
||||
add_subdirectory(sdk/include/xdk)
|
||||
add_subdirectory(sdk/include/psdk)
|
||||
add_subdirectory(sdk/include/dxsdk)
|
||||
@@ -338,21 +257,13 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
|
||||
if(NO_ROSSYM)
|
||||
include(sdk/cmake/baseaddress_dwarf.cmake)
|
||||
elseif(MSVC)
|
||||
if (ARCH STREQUAL "amd64")
|
||||
include(sdk/cmake/baseaddress_msvc_x64.cmake)
|
||||
else()
|
||||
include(sdk/cmake/baseaddress_msvc.cmake)
|
||||
endif()
|
||||
include(sdk/cmake/baseaddress_msvc.cmake)
|
||||
else()
|
||||
include(sdk/cmake/baseaddress.cmake)
|
||||
endif()
|
||||
|
||||
# For MSVC builds, this puts all debug symbols file in the same directory.
|
||||
if(MSVC)
|
||||
set(CMAKE_PDB_OUTPUT_DIRECTORY "${REACTOS_BINARY_DIR}/msvc_pdb")
|
||||
elseif(SEPARATE_DBG)
|
||||
set(CMAKE_PDB_OUTPUT_DIRECTORY "${REACTOS_BINARY_DIR}/symbols")
|
||||
endif()
|
||||
set(CMAKE_PDB_OUTPUT_DIRECTORY "${REACTOS_BINARY_DIR}/msvc_pdb")
|
||||
|
||||
#begin with boot so reactos_cab target is defined before all other modules
|
||||
add_subdirectory(boot)
|
||||
|
363
CODEOWNERS
363
CODEOWNERS
@@ -1,363 +0,0 @@
|
||||
## List of maintainers for the ReactOS project
|
||||
|
||||
## This file purpose is to give newcomers to the project the responsible
|
||||
## developers when submitting a pull request on GitHub, or opening a bug
|
||||
## report on Jira.
|
||||
|
||||
## This file will notably establish who is responsible for a specific
|
||||
## area of ReactOS. Being a maintainer means the following:
|
||||
## - that person has good knownledge in the area
|
||||
## - that person is able to enforce consistency in the area
|
||||
## - that person may be available for giving help in the area
|
||||
## - that person has push access on the repository
|
||||
## Being a maintainer does not mean the following:
|
||||
## - that person is dedicated to the area
|
||||
## - that person is working full-time on the area/on ReactOS
|
||||
## - that person is paid
|
||||
## - that person is always available
|
||||
|
||||
## We have no supported (paid) areas in ReactOS.
|
||||
|
||||
## When submitting a pull request on GitHub and looking for reviewers,
|
||||
## look at that file and ask for a review from some of the people (M, R
|
||||
## - the most recently active in the area) listed in the matching area,
|
||||
## also, assign the pull request to the M person. Don't ask for a review
|
||||
## from all the listed reviewers.
|
||||
## Also, when submitted a pull request on GitHub, rules defined in
|
||||
## CONTRIBUTING.md apply. And if the maintainer is not available and
|
||||
## reviewers approved the pull request, developers feeling confident
|
||||
## can merge the pull request. Note that reviewers do not necessarily
|
||||
## have push access to the repository.
|
||||
## When submitting a bug report on Jira, if you want to be sure to have
|
||||
## a developer with skills in that area, write @nick from M people.
|
||||
|
||||
## There should be one and only one primary maintainer per area.
|
||||
|
||||
## In case of 3rd party code (also refered as upstream), the maintainer
|
||||
## is responsible of updating periodically the source code and of
|
||||
## managing local patches. He is not here to upstream code on your behalf.
|
||||
## As responsible, he may refuse a local patch if you did not try to
|
||||
## upstream your changes.
|
||||
|
||||
## If you want to get listed in this file, either put yourself in the
|
||||
## file and push it, or open a pull request. You can also ask a person
|
||||
## who has push access to add yourself.
|
||||
|
||||
## This file uses GitHub's format for specifying code owners.
|
||||
## - Lines starting with # are comment lines.
|
||||
## - All other lines specify a path / file (wildcards allowed) followed
|
||||
## by the GitHub user name(s) of the code owners.
|
||||
## See https://help.github.com/en/articles/about-code-owners
|
||||
|
||||
## Additionally it tries to use a similar format to the Linux kernel
|
||||
## MAINTAINERS file within comments.
|
||||
## Descriptions of comment section entries used here:
|
||||
## M: Primary maintainer. Assign them pull requests
|
||||
## Use the GitHub, Jira, Real Name format for entry, squash if
|
||||
## some are overlapping
|
||||
## R: Reviewers. Ask them for review on pull requests
|
||||
## S: Status, one of the following:
|
||||
## Maintained: Someone is handling that area
|
||||
## Upstream: This is 3rd party code, synced in our tree
|
||||
## Abandoned: No one is handling that code anymore
|
||||
## C: Comments
|
||||
|
||||
|
||||
# 3rd Party File Format Libraries
|
||||
# M: ThFabba, Thomas Faber
|
||||
# S: Upstream
|
||||
# C: See media/doc/3rd Party Files.txt
|
||||
/dll/3rdparty/libjpeg/ @ThFabba
|
||||
/dll/3rdparty/libpng/ @ThFabba
|
||||
/dll/3rdparty/libtiff/ @ThFabba
|
||||
/dll/3rdparty/libxslt/ @ThFabba
|
||||
/sdk/include/reactos/libs/libjpeg/ @ThFabba
|
||||
/sdk/include/reactos/libs/libmpg123/ @ThFabba
|
||||
/sdk/include/reactos/libs/libpng/ @ThFabba
|
||||
/sdk/include/reactos/libs/libtiff/ @ThFabba
|
||||
/sdk/include/reactos/libs/libxml/ @ThFabba
|
||||
/sdk/include/reactos/libs/libxslt/ @ThFabba
|
||||
/sdk/lib/3rdparty/libmpg123/ @ThFabba
|
||||
/sdk/lib/3rdparty/libsamplerate/ @ThFabba
|
||||
/sdk/lib/3rdparty/libxml2/ @ThFabba
|
||||
|
||||
# ACPI
|
||||
# M:
|
||||
# R: ThFabba, Thomas Faber
|
||||
# S: Maintained
|
||||
/drivers/bus/acpi/ @ThFabba
|
||||
/hal/halx86/acpi/ @ThFabba
|
||||
|
||||
# ACPICA Library
|
||||
# M: ThFabba, Thomas Faber
|
||||
# S: Upstream
|
||||
/drivers/bus/acpi/acpica/ @ThFabba
|
||||
|
||||
# Apisets
|
||||
# M: learn-more, learn_more, Mark Jansen
|
||||
# S: Maintained
|
||||
/dll/apisets/ @learn-more
|
||||
|
||||
# Application Compatibility subystem
|
||||
# M: learn-more, learn_more, Mark Jansen
|
||||
# S: Maintained
|
||||
/dll/appcompat/ @learn-more
|
||||
/dll/shellext/acppage/ @learn-more
|
||||
/ntoskrnl/ps/apphelp.c @learn-more
|
||||
/sdk/tools/xml2sdb/ @learn-more
|
||||
|
||||
# Cache Manager
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Maintained
|
||||
/modules/rostests/kmtests/ntos_cc/ @HeisSpiter
|
||||
/ntoskrnl/cc/ @HeisSpiter
|
||||
|
||||
# Cache Manager Rewrite
|
||||
# S: Abandoned
|
||||
/ntoskrnl/cache/
|
||||
|
||||
# CMake Build Scripts
|
||||
# M:
|
||||
# R: learn-more, learn_more, Mark Jansen
|
||||
# R: ThFabba, Thomas Faber
|
||||
# S: Maintained
|
||||
/sdk/cmake/
|
||||
*.cmake
|
||||
|
||||
# File Patch API
|
||||
# M: learn-more, learn_more, Mark Jansen
|
||||
# S: Maintained
|
||||
/dll/win32/mspatcha/ @learn-more
|
||||
|
||||
# File Systems
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Maintained
|
||||
# C: Also see "Upstream File Systems"
|
||||
/drivers/filesystems/ @HeisSpiter
|
||||
/sdk/lib/fslib/ @HeisSpiter
|
||||
|
||||
# Filesystem Filter Manager
|
||||
# M: gedmurphy, Ged, Ged Murphy
|
||||
# S: Maintained
|
||||
/drivers/filters/fltmgr/ @gedmurphy
|
||||
|
||||
# File Systems Run Time Library
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Maintained
|
||||
/modules/rostests/kmtests/ntos_fsrtl/ @HeisSpiter
|
||||
/modules/rostests/kmtests/novp_fsrtl/ @HeisSpiter
|
||||
/ntoskrnl/fsrtl/ @HeisSpiter
|
||||
/sdk/lib/drivers/ntoskrnl_vista/fsrtl.c @HeisSpiter
|
||||
|
||||
# Freeloader
|
||||
# M:
|
||||
# R: tkreuzer, ThePhysicist, Timo Kreuzer
|
||||
# R: Extravert-ir, extravert34, Victor Perevertkin
|
||||
# S: Maintained
|
||||
/boot/freeldr/freeldr/ @tkreuzer @Extravert-ir
|
||||
|
||||
# HAL / APIC
|
||||
# M: tkreuzer, ThePhysicist, Timo Kreuzer
|
||||
# S: Maintained
|
||||
/hal/halx86/apic/ @tkreuzer
|
||||
|
||||
# HID Drivers
|
||||
# M:
|
||||
# R: ThFabba, Thomas Faber
|
||||
# S: Maintained
|
||||
/drivers/hid/ @ThFabba
|
||||
|
||||
# Kernel
|
||||
# M:
|
||||
# R: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# R: ThFabba, Thomas Faber
|
||||
# R: tkreuzer, ThePhysicist, Timo Kreuzer
|
||||
# S: Maintained
|
||||
/ntoskrnl/ @HeisSpiter @ThFabba @tkreuzer
|
||||
|
||||
# mbed TLS
|
||||
# M: ThFabba, Thomas Faber
|
||||
# S: Upstream
|
||||
# C: See media/doc/3rd Party Files.txt
|
||||
/dll/3rdparty/mbedtls/ @ThFabba
|
||||
/sdk/include/reactos/libs/mbedtls/ @ThFabba
|
||||
|
||||
# Mount Point Manager
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Maintained
|
||||
/drivers/storage/mountmgr/ @HeisSpiter
|
||||
|
||||
# Network Drivers
|
||||
# M:
|
||||
# R: ThFabba, Thomas Faber
|
||||
# S: Maintained
|
||||
/drivers/network/ @ThFabba
|
||||
|
||||
# Intel PRO/1000 NIC family driver
|
||||
# M:
|
||||
# R: ThFabba, Thomas Faber
|
||||
# R: Extravert-ir, extravert34, Victor Perevertkin
|
||||
# S: Maintained
|
||||
/drivers/network/dd/e1000/ @ThFabba @Extravert-ir
|
||||
|
||||
# Network File Systems kernel libraries
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Maintained
|
||||
/sdk/lib/drivers/rdbsslib/ @HeisSpiter
|
||||
/sdk/lib/drivers/rxce/ @HeisSpiter
|
||||
|
||||
# NTDLL
|
||||
# M:
|
||||
# R: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# R: learn-more, learn_more, Mark Jansen
|
||||
# R: ThFabba, Thomas Faber
|
||||
# R: tkreuzer, ThePhysicist, Timo Kreuzer
|
||||
# S: Maintained
|
||||
/dll/ntdll/ @HeisSpiter @learn-more @ThFabba @tkreuzer
|
||||
|
||||
# Printing
|
||||
# M: ColinFinck, Colin Finck
|
||||
# S: Maintained
|
||||
/win32ss/printing/ @ColinFinck
|
||||
|
||||
# ReactOS API Tests
|
||||
# M:
|
||||
# R: learn-more, learn_more, Mark Jansen
|
||||
# R: ThFabba, Thomas Faber
|
||||
# S: Maintained
|
||||
/modules/rostests/apitests/
|
||||
|
||||
# ReactOS Kernel-Mode Tests
|
||||
# M: ThFabba, Thomas Faber
|
||||
# S: Maintained
|
||||
/modules/rostests/kmtests/ @ThFabba
|
||||
|
||||
# ROS internals tools
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Maintained
|
||||
/modules/rosapps/applications/rosinternals/ @HeisSpiter
|
||||
|
||||
# Run-Time Library (RTL)
|
||||
# M:
|
||||
# R: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# R: learn-more, learn_more, Mark Jansen
|
||||
# R: ThFabba, Thomas Faber
|
||||
# R: tkreuzer, ThePhysicist, Timo Kreuzer
|
||||
# S: Maintained
|
||||
/sdk/lib/rtl/ @HeisSpiter @learn-more @ThFabba @tkreuzer
|
||||
|
||||
# Security Manager
|
||||
# M: GeoB99, George Bișoc
|
||||
# S: Maintained
|
||||
/modules/rostests/kmtests/ntos_se/ @GeoB99
|
||||
/ntoskrnl/se/ @GeoB99
|
||||
|
||||
# Shell
|
||||
# M:
|
||||
# R: learn-more, learn_more, Mark Jansen
|
||||
# R: yagoulas, Giannis Adamopoulos
|
||||
# S: Maintained
|
||||
/base/shell/explorer/ @learn-more @yagoulas
|
||||
/base/shell/rshell/ @learn-more @yagoulas
|
||||
/dll/win32/browseui/ @learn-more @yagoulas
|
||||
/dll/win32/shell32/ @learn-more @yagoulas
|
||||
|
||||
# Shell Extensions
|
||||
# M:
|
||||
# R: learn-more, learn_more, Mark Jansen
|
||||
# S: Maintained
|
||||
/dll/shellext/ @learn-more
|
||||
|
||||
# UniATA
|
||||
# M: ThFabba, Thomas Faber
|
||||
# S: Upstream
|
||||
/drivers/storage/ide/uniata/ @ThFabba
|
||||
|
||||
# Upstream File Systems
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Upstream
|
||||
/base/services/nfsd/ @HeisSpiter
|
||||
/dll/np/nfs/ @HeisSpiter
|
||||
/dll/shellext/shellbtrfs/ @HeisSpiter
|
||||
/drivers/filesystems/btrfs/ @HeisSpiter
|
||||
/drivers/filesystems/cdfs/ @HeisSpiter
|
||||
/drivers/filesystems/ext2/ @HeisSpiter
|
||||
/drivers/filesystems/fastfat/ @HeisSpiter
|
||||
/drivers/filesystems/nfs/ @HeisSpiter
|
||||
/media/doc/README.FSD @HeisSpiter
|
||||
/sdk/lib/fslib/btrfslib/ @HeisSpiter
|
||||
/sdk/lib/fslib/ext2lib/ @HeisSpiter
|
||||
/sdk/lib/fslib/vfatlib/check/ @HeisSpiter
|
||||
|
||||
# USB Drivers
|
||||
# M: ThFabba, Thomas Faber
|
||||
# R: Extravert-ir, extravert34, Victor Perevertkin
|
||||
# S: Maintained
|
||||
/drivers/usb/ @ThFabba @Extravert-ir
|
||||
/sdk/include/reactos/drivers/usbport/ @ThFabba @Extravert-ir
|
||||
|
||||
# Virtual CD-ROM
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Maintained
|
||||
/modules/rosapps/applications/cmdutils/vcdcli/ @HeisSpiter
|
||||
/modules/rosapps/applications/vcdcontroltool/ @HeisSpiter
|
||||
/modules/rosapps/drivers/vcdrom/ @HeisSpiter
|
||||
|
||||
# Virtual Floppy Disk
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Upstream
|
||||
/modules/rosapps/applications/cmdutils/vfdcmd/ @HeisSpiter
|
||||
/modules/rosapps/drivers/vfd/ @HeisSpiter
|
||||
|
||||
# Win32 file functions
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Maintained
|
||||
/dll/win32/kernel32/client/file/ @HeisSpiter
|
||||
|
||||
# Windows Network File Systems functions
|
||||
# M: HeisSpiter, Heis Spiter, Pierre Schweitzer
|
||||
# S: Upstream
|
||||
/dll/win32/mpr/wnet.c @HeisSpiter
|
||||
|
||||
# Wine Tests
|
||||
# M:
|
||||
# R: ThFabba, Thomas Faber
|
||||
# S: Upstream
|
||||
/modules/rostests/winetests/ @ThFabba
|
||||
|
||||
# zlib
|
||||
# M: ThFabba, Thomas Faber
|
||||
# S: Upstream
|
||||
# C: See media/doc/3rd Party Files.txt
|
||||
/sdk/include/reactos/libs/zlib/ @ThFabba
|
||||
/sdk/lib/3rdparty/zlib/ @ThFabba
|
||||
|
||||
# x64 related code (keep this at the bottom)
|
||||
# M: tkreuzer, ThePhysicist, Timo Kreuzer
|
||||
# S: Maintained
|
||||
amd64/ @tkreuzer
|
||||
/boot/freeldr/freeldr/arch/realmode/amd64.S @tkreuzer
|
||||
|
||||
# Translations
|
||||
# This is the list of translation teams in ReactOS GitHub organization.
|
||||
# If you want to be part of one - hit us at https://chat.reactos.org/
|
||||
de-DE.* @reactos/lang-german
|
||||
es-ES.* @reactos/lang-spanish
|
||||
et-EE.* @reactos/lang-estonian
|
||||
fr-FR.* @reactos/lang-french
|
||||
he-IL.* @reactos/lang-hebrew
|
||||
hi-IN.* @reactos/lang-hindi
|
||||
hu-HU.* @reactos/lang-hungarian
|
||||
id-ID.* @reactos/lang-indonesian
|
||||
it-IT.* @reactos/lang-italian
|
||||
nl-NL.* @reactos/lang-dutch
|
||||
pl-PL.* @reactos/lang-polish
|
||||
pt-BR.* @reactos/lang-portuguese
|
||||
pt-PT.* @reactos/lang-portuguese
|
||||
ro-RO.* @reactos/lang-romanian
|
||||
ru-RU.* @reactos/lang-russian
|
||||
tr-TR.* @reactos/lang-turkish
|
||||
uk-UA.* @reactos/lang-ukrainian
|
||||
zh-CN.* @reactos/lang-chinese
|
||||
zh-HK.* @reactos/lang-chinese
|
||||
zh-TW.* @reactos/lang-chinese
|
@@ -1,7 +0,0 @@
|
||||
# Code of Conduct
|
||||
|
||||
Be respectful toward other members of the community. Don't initiate or engage in discussions that are designed to insult, inflame, attack, or incite hate/discrimination/bullying against others. Don't feed the trolls. If we detect any kind of behaviour we consider unacceptable, we reserve the right to ban, block, or remove the involved members from any or all of our communities.
|
||||
|
||||
# See Also
|
||||
|
||||
- [Rules for managing Pull Requests](PULL_REQUEST_MANAGEMENT.md)
|
109
CONTRIBUTING.md
109
CONTRIBUTING.md
@@ -1,109 +0,0 @@
|
||||
# How To Contribute
|
||||
|
||||
There are several ways to contribute to the development of ReactOS. The most often encountered problem is not knowing where to begin or what to do. If you are able to program or understand the technical information that is pertinent to this project, helping the development can be easy.
|
||||
|
||||
- [What To Do?](#what-to-do)
|
||||
- [How To Contribute?](#how-to-contribute)
|
||||
- [Where To Start?](#where-to-start)
|
||||
|
||||
**Legal notice:** If you have seen Microsoft Windows source code, your contribution won't be accepted because of potential copyright violation. Before contributing, you must affirm that the following is true:
|
||||
>I hereby swear that I have not used nor seen the source code to any version of the Windows operating system
|
||||
>nor any Microsoft product that may be related to the proposed project that is under a license incompatible
|
||||
>with contribution to ReactOS, including but not limited to the leaked Windows 2000 source code and the Windows Research Kernel.
|
||||
|
||||
## What To Do?
|
||||
|
||||
### Fix bugs
|
||||
|
||||
You can try to fix a few bugs that are already listed in [JIRA]. Squashing bugs is not a simple task. It requires a lot more skill than simply searching for them, and can be time consuming; however, by doing that you greatly help ReactOS become a stable system.
|
||||
|
||||
_NOTE: patches related to 3rd party code such as Wine or BtrFS should be sent to upstream of the said projects. See [3rd Party Files.txt], [README.WINE] and [README.FSD] in [media/doc](media/doc) for details._
|
||||
|
||||
### Fix tests
|
||||
|
||||
Tests are used to check the functionality and correctness of APIs on ReactOS compared to Windows implementations. There are some unit tests that you could help ReactOS pass, which can be found [in the Web Test Manager][testman] and some that are broken or yet to be written.
|
||||
|
||||
### Fix Coverity scans
|
||||
|
||||
[Coverity] is enhanced static analysis that uncovers leaks, buffer overflows, security issues and other. We do such scans on ReactOS codebase pretty often. You can [request][request-coverity] to see Coverity 'defects' and help to fix them.
|
||||
|
||||
### Test ReactOS
|
||||
|
||||
By localizing bugs, developers can identify what causes the bug and which part it affects. There are a variety of methods to [debug] ReactOS while testing it. After identifying a bug, check if it is already known about by searching on JIRA and adding any additional information to the report. If you think that it is an unidentified bug, consider [filing a bug report].
|
||||
|
||||
### Implement new things
|
||||
|
||||
Considering ReactOS is alpha quality software, there is a lot of [missing functionality] that Windows operating systems have. Before starting a project to implement something, find out whether another person is working on the same thing. If you find that someone is already working on it, ask if any assistance is needed for what specifically is being worked on or a related project. More often than not, someone will start to implement something and move onto something else before it's complete. Make sure you stay committed to what you are going to implement, and do not be afraid to ask for assistance if you need help with something.
|
||||
|
||||
### Write documentation
|
||||
|
||||
There are some important points if you would like to help document ReactOS:
|
||||
|
||||
1. Make sure the documentation does not exist yet (if it does, help improve it).
|
||||
2. Respect [clean room reverse engineering] practices.
|
||||
3. Add your knowledge to a place where the other developers can find it.
|
||||
|
||||
## How To Contribute?
|
||||
|
||||
Your contribution can be of numerous forms. We currently accept two ways to contribute - Pull Requests and Patches.
|
||||
|
||||
### Pull Requests
|
||||
|
||||
Since our [migration to GitHub] we gladly accept __[Pull Requests]__. Pull requests let you tell others about changes you have pushed to a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before the changes are merged into the repository. __Pull request is a preferred way to submit your work__ - it makes reviewing and merging your contribution much easier.
|
||||
|
||||
### Patches
|
||||
|
||||
A __[patch]__ is a set of changes to existing source code. The changes in a patch can be merged into existing source code. This process is referred to as applying a patch (to source code). Which changes a patch contains and the way the patch is structured can have significant impact on the consequences that can happen from applying the patch.
|
||||
|
||||
See [Submitting Patches] for details.
|
||||
|
||||
### Commit style
|
||||
|
||||
Our commit style is defined in a __[commit template]__. Use it as a reference or turn it on using `git config commit.template .gitmessage`. This will set this template as an initial commit message for the new commits in your local repository.
|
||||
|
||||
### Rules and Recommendations
|
||||
|
||||
- *Use your __real name__ and __real email__.* We do not accept anonymous contributions!
|
||||
- *Ensure your contribution is properly described.* Include the relevant issue number if applicable.
|
||||
- *Put only related changes.* It will make reviewing easier as the reviewer needs to recall less information about the existing source code that is changed.
|
||||
- *Search for similar pull requests/patches before submitting.* It may be that a similar pull request or issue was opened previously. Comment and review on that one instead.
|
||||
- *Keep your contribution small and focused on the topic.* It can be tempting to fix existing issues as you come across them while reading the source code. Resist the temptation and put in a note in the source code instead, or (even better) put the issue in the issue tracking system.
|
||||
- *Respect our __[Coding Style]__ and __[Programming Guidelines]__.*
|
||||
- *Do not be afraid to ask questions.* Ask our developers 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).
|
||||
|
||||
## Where To Start?
|
||||
|
||||
Finding a good project to start with can be a challenge, because when starting out you are (usually) not aware of all the possibilities. To help you find a project, here are some ideas to try:
|
||||
|
||||
- Find a test that fails, and try to make it succeed: <https://reactos.org/testman/>
|
||||
- Look around in JIRA, and if you have problems finding nice projects to start with, there is a label for this: <https://jira.reactos.org/issues/?jql=labels%20%3D%20starter-project>
|
||||
- Ask for help on [IRC]
|
||||
- Additionally, there are some tests that cause crashes/hangs, but these might be slightly harder: <https://jira.reactos.org/browse/ROSTESTS-125>
|
||||
|
||||
[clean room reverse engineering]: https://en.wikipedia.org/wiki/Clean_room_design
|
||||
[debug]: https://reactos.org/wiki/Debugging
|
||||
[JIRA]: https://jira.reactos.org/
|
||||
[filing a bug report]: https://reactos.org/wiki/File_Bugs
|
||||
[testman]: https://reactos.org/testman/
|
||||
[migration to GitHub]: https://reactos.org/project-news/reactos-repository-migrated-github/
|
||||
[humans are terrible at tracking large amount of information]: https://www.eurekalert.org/pub_releases/2005-03/aps-hmc030805.php
|
||||
[Pull requests]: https://help.github.com/articles/about-pull-requests/
|
||||
[tips for reviewing patches]: https://www.drupal.org/patch/review
|
||||
[missing functionality]: https://reactos.org/wiki/Missing_ReactOS_Functionality
|
||||
[patch]: https://git-scm.com/docs/git-format-patch
|
||||
[Submitting Patches]: https://reactos.org/wiki/Submitting_Patches
|
||||
[Coding Style]: https://reactos.org/wiki/Coding_Style
|
||||
[IRC]: https://reactos.org/wiki/Connect_to_the_ReactOS_IRC_Channels
|
||||
[Programming Guidelines]: https://reactos.org/wiki/Programming_Guidelines
|
||||
[3rd Party Files.txt]: /media/doc/3rd_Party_Files.txt
|
||||
[README.WINE]: /media/doc/README.WINE
|
||||
[README.FSD]: /media/doc/README.FSD
|
||||
[Coverity]: https://scan.coverity.com/projects/reactos
|
||||
[request-coverity]: https://scan.coverity.com/memberships/new?project_id=reactos
|
||||
[commit template]: .gitmessage
|
||||
|
||||
# See Also
|
||||
|
||||
- [Rules for managing Pull Requests](PULL_REQUEST_MANAGEMENT.md)
|
10
COPYING.ARM
10
COPYING.ARM
@@ -1,12 +1,12 @@
|
||||
Copyright 2008 ReactOS Portable Systems Group. All rights reserved.
|
||||
Copyright 2008 ReactOS Portable Systems Group. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||
that the following conditions are met:
|
||||
that the following conditions are met:
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and
|
||||
the following disclaimer.
|
||||
the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
||||
and the following disclaimer in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
and the following disclaimer in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REACTOS PORTABLE SYSTEMS GROUP ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
|
26
CREDITS
26
CREDITS
@@ -1,15 +1,12 @@
|
||||
ReactOS is available thanks to the work of:
|
||||
|
||||
Aleksandar Andrejevic <aandrejevic@reactos.org>
|
||||
Aleksey Bragin <aleksey at reactos org>
|
||||
Alex Ionescu <alex.ionescu@reactos.org>
|
||||
Alexander Shaposhnikov <sanchaez@reactos.org>
|
||||
Amine Khaldi <amine.khaldi@reactos.org>
|
||||
Andrew Greenwood <lists@silverblade.co.uk>
|
||||
Andrew Munger <waxdragon@gmail.com>
|
||||
Arindam Das
|
||||
Art Yerkes <ayerkes@speakeasy.net>
|
||||
Benedikt Freisen <b.freisen@gmx.net>
|
||||
Boudewijn Dekker (Ariadne)
|
||||
Brandon Turner <turnerb7@msu.edu>
|
||||
Brian Palmer <brianp@sginet.com>
|
||||
@@ -18,7 +15,6 @@ Casper S. Hornstrup <chorns@users.sourceforge.net>
|
||||
Christoph von Wittich <christoph_vw@reactos.org>
|
||||
Colin Finck <colin@reactos.org>
|
||||
Daniel Reimer <reimer.daniel@freenet.de>
|
||||
David Quintana <gigaherz@gmail.com>
|
||||
David Welch <welch@cwcom.net>
|
||||
Dmitry Chapyshev <dmitry@reactos.org>
|
||||
Emanuele Aliberti <ea@iol.it>
|
||||
@@ -28,15 +24,12 @@ Filip Navara <xnavara@volny.cz>
|
||||
Frederik Leemans
|
||||
Ge van Geldorp <ge@gse.nl>
|
||||
Ged Murphy <gedmurphy@reactos.org>
|
||||
George Bisoc <george.bisoc@reactos.org>
|
||||
Giannis Adamopoulos <gadamopoulos@reactos.org>
|
||||
Gregor Brunmar <gregor brunmar at home se>
|
||||
Gregor Schneider <grschneider@gmail.com>
|
||||
Guido de Jong
|
||||
Gunnar Andre' Dalsnes <hardon@online.no>
|
||||
Hans Kremer
|
||||
Hartmut Birr <hartmut.birr@gmx.de>
|
||||
Hermes Belusca-Maito <hermes.belusca-maito@reactos.org>
|
||||
Hernan Ochoa
|
||||
Herve Poussineau <hpoussin@reactos.com>
|
||||
Iwan Fatahi <i_fatahi@hotmail.com>
|
||||
@@ -45,20 +38,15 @@ Jason Eager
|
||||
Jason Filby <jasonfilby@yahoo.com>
|
||||
Jason Weiler
|
||||
Jean Michault
|
||||
Jeffrey Morlan <mrnobo1024@yahoo.com>
|
||||
Jerome Gardou <jerome.gardou@reactos.org>
|
||||
Jeffrey Morlan <mrnobo1024@yahoo.com>
|
||||
Jim Noeth
|
||||
Joachim Henze <joachim.henze@reactos.org>
|
||||
Johannes Anderwald <johannes.anderwald@reactos.org>
|
||||
Johannes Anderwald <johannes.anderwald@reactos.org>
|
||||
Jonathan Wilson <jonwil@tpgi.com.au>
|
||||
Jurgen van Gael <jurgen.vangael@student.kuleuven.ac.be>
|
||||
Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
|
||||
KJK::Hyperion <noog@libero.it>
|
||||
Klemens R. Friedl <klemens_friedl@gmx.net>
|
||||
Lauri Ojansivu <x@xet7.org>
|
||||
Maarten Bosma <maarten.paul@bosma.de>
|
||||
Magnus Olsen <magnus@greatlord.com>
|
||||
Mark Jansen <mark.jansen@reactos.org>
|
||||
Mark Tempel <mtempel@visi.com>
|
||||
Mark Weaver <mark@npsl.co.uk>
|
||||
Martin Fuchs <martin-fuchs@gmx.net>
|
||||
@@ -69,7 +57,6 @@ Mike Nordell <"tamlin">
|
||||
Nathan Woods <npwoods@mess.org>
|
||||
Pablo Borobia <pborobia@gmail.com>
|
||||
Paolo Pantaleo <paolopan@freemail.it>
|
||||
Peter Hater <7element@mail.bg>
|
||||
Peter Ward <dralnix@gmail.com>
|
||||
Pierre Schweitzer <pschweitzer@reactos.org>
|
||||
Phillip Susi <phreak@iag.net>
|
||||
@@ -81,19 +68,16 @@ Robert Dickenson <robd@reactos.org>
|
||||
Royce Mitchell III <royce3@ev1.net>
|
||||
Samuel Serapi<70>n <samdwise51@gmail.com>
|
||||
Saveliy Tretiakov <saveliyt@mail.ru>
|
||||
Stanislav Motylkov <x86corez@gmail.com>
|
||||
Stefan Ginsberg <stefan.ginsberg@reactos.org>
|
||||
Steven Edwards <winehacker@gmail.com>
|
||||
Thomas Faber <thomas.faber@reactos.org>
|
||||
Thomas Weidenmueller <w3seek@users.sourceforge.net>
|
||||
Timo Kreuzer <timo.kreuzer@reactos.org>
|
||||
Vadim Galyant <vgal@rambler.ru>
|
||||
Victor Kirhenshtein <sauros@iname.com>
|
||||
Vizzini <vizzini@plasmic.com>
|
||||
|
||||
|
||||
Graphic Design from
|
||||
|
||||
Mindflyer <mf@mufunyo.net>
|
||||
Tango Desktop Project <http://tango-project.org/>
|
||||
Everaldo <https://www.everaldo.com/>
|
||||
Mindflyer <mf@mufunyo.net>
|
||||
Tango Desktop Project <http://tango-project.org>
|
||||
Everaldo <http://everaldo.com>
|
||||
|
20
INSTALL
20
INSTALL
@@ -3,7 +3,7 @@
|
||||
|
||||
To build the system it is strongly advised to use the ReactOS Build Environment
|
||||
(RosBE). Up-to-date versions for Windows and for Unix/GNU-Linux are available
|
||||
from our download page at: https://reactos.org/wiki/Build_Environment
|
||||
from our download page at: http://www.reactos.org/wiki/Build_Environment/
|
||||
|
||||
Alternatively one can use Microsoft Visual C++ (MSVC) version 2010+, together
|
||||
with separate installations of CMake and the Ninja build utility.
|
||||
@@ -13,7 +13,7 @@ with separate installations of CMake and the Ninja build utility.
|
||||
-------------------
|
||||
|
||||
A throughout guide for how to build ReactOS can be found at:
|
||||
https://reactos.org/wiki/Building_ReactOS
|
||||
http://www.reactos.org/wiki/Building_ReactOS
|
||||
|
||||
In the following we only make a quick overview.
|
||||
|
||||
@@ -37,16 +37,12 @@ the top directory.
|
||||
3. Installation
|
||||
---------------
|
||||
|
||||
By default, ReactOS can only be installed on a machine that has a FAT16 or FAT32
|
||||
partition as the active (bootable) partition. The partition on which ReactOS is
|
||||
to be installed (which may or may not be the bootable partition) must also be
|
||||
ReactOS can only be installed on a machine that has a FAT16 or FAT32 partition
|
||||
as the active (bootable) partition. The partition on which ReactOS is to be
|
||||
installed (which may or may not be the bootable partition) must also be
|
||||
formatted as FAT16 or FAT32. ReactOS Setup can format the partitions if
|
||||
needed.
|
||||
|
||||
Starting 0.4.10, ReactOS can be installed using the BtrFS file system. But
|
||||
consider this as an experimental feature and thus regressions not triggered on
|
||||
FAT setup may be observed.
|
||||
|
||||
ReactOS can be installed from the source distribution or from the bootable CD
|
||||
distribution. The two ways to install ReactOS are explained below.
|
||||
|
||||
@@ -88,10 +84,10 @@ contents. Then burn the CD image, boot from it, and follow instructions.
|
||||
-------
|
||||
|
||||
If you run into problems or have suggestions for making ReactOS better, please
|
||||
visit the address below. Mailing lists are available for a variety of topics,
|
||||
bugs should be submitted to JIRA and general chat takes place in the forums,
|
||||
visit the address below. Mailing lists are available for a variety of topics,
|
||||
bugs should be submitted to JIRA and general chat takes place in the forums,
|
||||
or #reactos on freenode.
|
||||
|
||||
https://reactos.org/
|
||||
http://www.reactos.org/
|
||||
|
||||
ReactOS Development Team
|
||||
|
@@ -1,16 +0,0 @@
|
||||
# Rules for managing Pull Requests
|
||||
|
||||
For the sake of trying to maintain an acceptable number of open but idle PRs, the following rules should be considered:
|
||||
- If a PR has at least one approval, it can be merged after 1 week of waiting for additional comments.
|
||||
- If the change has at least 3 approvals or you consider it trivial enough, it may be merged right away.
|
||||
- If a PR stays in "changes requested" for too long, and there is no indication from the author that they are working on it, it shall be closed.
|
||||
- Rule of thumb: 2 weeks for a small PR. Can be longer if the PR is large.
|
||||
- The PR can be reopened at any point, if you have additional comments, or new changes have been done.
|
||||
- If you require a review from a particular person, assign the PR to that person. Don't just rely on the "review requested" feature of GitHub.
|
||||
- Remember that PR labels exist. You can assign an appropriate label to a pull request to designate it's scope, grab additional attention or just for extra navigation possibilities.
|
||||
- Don't feel obliged to comment everything you see, just for the sake of commenting. Be it on JIRA, GitHub, or even on IRC.
|
||||
|
||||
In addition, in order to avoid coming off as rude to helpful contributors, please refrain from:
|
||||
- Asking the contributor to do unrelated work
|
||||
- Closing without providing a reason
|
||||
- Merging with the intention to rewrite that code soon after
|
32
README
Normal file
32
README
Normal file
@@ -0,0 +1,32 @@
|
||||
========================
|
||||
ReactOS<EFBFBD> Version 0.4.x
|
||||
Updated January 5, 2016
|
||||
========================
|
||||
|
||||
1. What is ReactOS?
|
||||
-------------------
|
||||
|
||||
ReactOS<EFBFBD> is an Open Source effort to develop a quality operating system that is
|
||||
compatible with applications and drivers written for the Microsoft<66> Windows<77> NT
|
||||
family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
|
||||
|
||||
The ReactOS project, although currently focused on Windows Server 2003
|
||||
compatibility, is always keeping an eye toward compatibility with
|
||||
Windows Vista and future Windows NT releases.
|
||||
|
||||
More information is available at: https://www.reactos.org
|
||||
|
||||
2. Building ReactOS
|
||||
-------------------
|
||||
|
||||
See the INSTALL file for more details.
|
||||
|
||||
3. More information
|
||||
-------------------
|
||||
|
||||
See the media\doc subdirectory for some sparse notes.
|
||||
|
||||
4. Who is responsible
|
||||
---------------------
|
||||
|
||||
See the CREDITS file.
|
136
README.md
136
README.md
@@ -1,136 +0,0 @@
|
||||
<p align=center>
|
||||
<a href="https://reactos.org/">
|
||||
<img alt="ReactOS" src="https://reactos.org/wiki/images/0/02/ReactOS_logo.png">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
<p align=center>
|
||||
<a href="https://reactos.org/project-news/reactos-0414-released/">
|
||||
<img alt="ReactOS 0.4.14 Release" src="https://img.shields.io/badge/release-0.4.14-0688CB.svg">
|
||||
</a>
|
||||
<a href="https://reactos.org/download/">
|
||||
<img alt="Download ReactOS" src="https://img.shields.io/badge/download-latest-0688CB.svg">
|
||||
</a>
|
||||
<a href="https://sourceforge.net/projects/reactos/">
|
||||
<img alt="SourceForge Download" src="https://img.shields.io/sourceforge/dm/reactos.svg?colorB=0688CB">
|
||||
</a>
|
||||
<a href="https://github.com/reactos/reactos/blob/master/COPYING">
|
||||
<img alt="License" src="https://img.shields.io/badge/license-GNU_GPL_2.0-0688CB.svg">
|
||||
</a>
|
||||
<a href="https://reactos.org/donate/">
|
||||
<img alt="Donate" src="https://img.shields.io/badge/%24-donate-E44E4A.svg">
|
||||
</a>
|
||||
<a href="https://twitter.com/reactos">
|
||||
<img alt="Follow on Twitter" src="https://img.shields.io/twitter/follow/reactos.svg?style=social&label=Follow%20%40reactos">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## Quick Links
|
||||
[Website](https://reactos.org/) •
|
||||
[Official chat](https://chat.reactos.org/) •
|
||||
[Wiki](https://reactos.org/wiki/) •
|
||||
[Forum](https://reactos.org/forum/) •
|
||||
[Community Discord](https://discord.gg/7knjvhT) •
|
||||
[JIRA Bug Tracker](https://jira.reactos.org/issues/) •
|
||||
[ReactOS Git mirror](https://git.reactos.org/) •
|
||||
[Testman](https://reactos.org/testman/)
|
||||
|
||||
## What is ReactOS?
|
||||
|
||||
ReactOS™ is an Open Source effort to develop a quality operating system that is compatible with applications and drivers written for the Microsoft® Windows™ NT family of operating systems (NT4, 2000, XP, 2003, Vista, 7).
|
||||
|
||||
The ReactOS project, although currently focused on Windows Server 2003 compatibility, is always keeping an eye toward compatibility with Windows Vista and future Windows NT releases.
|
||||
|
||||
The code of ReactOS is licensed under [GNU GPL 2.0](https://github.com/reactos/reactos/blob/master/COPYING).
|
||||
|
||||
### Product quality warning
|
||||
|
||||
**ReactOS is currently an Alpha quality operating system.** This means that ReactOS is under heavy development and you have to be ready to encounter some problems. Different things may not work well and it can corrupt the data present on your hard disk. It is HIGHLY recommended to test ReactOS on a virtual machine or on a computer with no sensitive or critical data!
|
||||
|
||||
## Building
|
||||
|
||||
 [![rosbewin.badge]][rosbewin.link] [![rosbeunix.badge]][rosbeunix.link] [![coverity.badge]][coverity.link]
|
||||
|
||||
To build the system it is strongly advised to use the _ReactOS Build Environment (RosBE)._
|
||||
Up-to-date versions for Windows and for Unix/GNU-Linux are available from our download page at: ["Build Environment"](https://reactos.org/wiki/Build_Environment).
|
||||
|
||||
Alternatively one can use Microsoft Visual C++ (MSVC) version 2015+. Building with MSVC is covered here: ["Visual Studio or Microsoft Visual C++"](https://reactos.org/wiki/CMake#Visual_Studio_or_Microsoft_Visual_C.2B.2B).
|
||||
|
||||
See ["Building ReactOS"](https://reactos.org/wiki/Building_ReactOS) article for more details.
|
||||
|
||||
### Binaries
|
||||
|
||||
To build ReactOS you must run the `configure` script in the directory you want to have your build files. Choose `configure.cmd` or `configure.sh` depending on your system. Then run `ninja <modulename>` to build a module you want or just `ninja` to build all modules.
|
||||
|
||||
### Bootable images
|
||||
|
||||
To build a bootable CD image run `ninja bootcd` from the build directory. This will create a CD image with a filename `bootcd.iso`.
|
||||
|
||||
You can always download fresh binary builds of bootable images from the ["Daily builds"](https://reactos.org/getbuilds/) page.
|
||||
|
||||
## Installing
|
||||
|
||||
By default, ReactOS currently can only be installed on a machine that has a FAT16 or FAT32 partition as the active (bootable) partition.
|
||||
The partition on which ReactOS is to be installed (which may or may not be the bootable partition) must also be formatted as FAT16 or FAT32.
|
||||
ReactOS Setup can format the partitions if needed.
|
||||
|
||||
Starting with 0.4.10, ReactOS can be installed using the BtrFS file system. But consider this as an experimental feature and thus regressions not triggered on FAT setup may be observed.
|
||||
|
||||
To install ReactOS from the bootable CD distribution, extract the archive contents. Then burn the CD image, boot from it, and follow the instructions.
|
||||
|
||||
See ["Installing ReactOS"](https://reactos.org/wiki/Installing_ReactOS) Wiki page or [INSTALL](INSTALL) for more details.
|
||||
|
||||
## Testing
|
||||
|
||||
If you discover a bug in ReactOS search on JIRA first - it might be reported already. If not report the bug providing logs and as much information as possible.
|
||||
|
||||
See ["File Bugs"](https://reactos.org/wiki/File_Bugs) for a guide.
|
||||
|
||||
__NOTE:__ The bug tracker is _not_ for discussions. Please use our [official chat](https://chat.reactos.org/) or our [forum](https://reactos.org/forum/).
|
||||
|
||||
## Contributing [![prwelcome.badge]](https://reactos.org/wiki/Commiting_Changes)
|
||||
|
||||
We are always looking for developers! Check [how to contribute](CONTRIBUTING.md) if you are willing to participate.
|
||||
|
||||
__Legal notice__: If you have seen proprietary Microsoft Windows source code (including but not limited to the leaked Windows NT 3.5, NT 4, 2000 source code and the Windows Research Kernel), your contribution won't be accepted because of potential copyright violation.
|
||||
|
||||
Try out cloud-based ReactOS development using Gitpod and Docker:
|
||||
|
||||
[](https://gitpod.io/#https://github.com/reactos/reactos)
|
||||
|
||||
You can also support ReactOS by [donating](https://reactos.org/donate/)! We rely on our backers to maintain our servers and accelerate development by [hiring full-time devs](https://reactos.org/contributing/#paid-jobs).
|
||||
|
||||
## More information
|
||||
|
||||
ReactOS is a Free and Open Source operating system based on the Windows architecture,
|
||||
providing support for existing applications and drivers, and an alternative to the current dominant consumer operating system.
|
||||
|
||||
It is not another wrapper built on Linux, like WINE. It does not attempt or plan to compete with WINE; in fact, the user-mode part of ReactOS is almost entirely WINE-based and our two teams have cooperated closely in the past.
|
||||
|
||||
ReactOS is also not "yet another OS". It does not attempt to be a third player like any other alternative OS out there. People are not meant to uninstall Linux and use ReactOS instead; ReactOS is a replacement for Windows users who want a Windows replacement that behaves just like Windows.
|
||||
|
||||
More information is available at: [reactos.org](https://reactos.org/).
|
||||
|
||||
Also see the [media/doc](/media/doc/) subdirectory for some sparse notes.
|
||||
|
||||
## Who is responsible
|
||||
|
||||
Active devs are listed as members of [GitHub organization](https://github.com/orgs/reactos/people).
|
||||
See also the [CREDITS](CREDITS) file for others.
|
||||
|
||||
## Code mirrors
|
||||
|
||||
The main development is done on [GitHub](https://github.com/reactos/reactos). We have an [alternative mirror](https://git.reactos.org/?p=reactos.git) in case GitHub is down.
|
||||
|
||||
There is also an obsolete [SVN archive repository](https://svn.reactos.org/reactos/) that is kept for historical purposes.
|
||||
|
||||
[coverity.badge]: https://scan.coverity.com/projects/205/badge.svg?flat=1
|
||||
[rosbewin.badge]: https://img.shields.io/badge/RosBE_Windows-2.2.0-0688CB.svg
|
||||
[rosbeunix.badge]: https://img.shields.io/badge/RosBE_Unix-2.2-0688CB.svg
|
||||
[prwelcome.badge]: https://img.shields.io/badge/PR-welcome-0688CB.svg
|
||||
|
||||
[coverity.link]: https://scan.coverity.com/projects/205
|
||||
[rosbewin.link]: https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.2.0/
|
||||
[rosbeunix.link]: https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.2/
|
@@ -6,7 +6,6 @@ add_subdirectory(charmap)
|
||||
add_subdirectory(clipbrd)
|
||||
add_subdirectory(cmdutils)
|
||||
add_subdirectory(control)
|
||||
add_subdirectory(drwtsn32)
|
||||
add_subdirectory(dxdiag)
|
||||
add_subdirectory(extrac32)
|
||||
add_subdirectory(findstr)
|
||||
@@ -21,30 +20,25 @@ add_subdirectory(magnify)
|
||||
add_subdirectory(mmc)
|
||||
add_subdirectory(mplay32)
|
||||
add_subdirectory(msconfig)
|
||||
#add_subdirectory(msconfig_new) #excluded from the build because it is significantly more buggy than the old msconfig. see CORE-18067 for examples
|
||||
add_subdirectory(msconfig_new)
|
||||
add_subdirectory(mscutils)
|
||||
add_subdirectory(mshta)
|
||||
add_subdirectory(mspaint)
|
||||
add_subdirectory(mstsc)
|
||||
add_subdirectory(network)
|
||||
add_subdirectory(notepad)
|
||||
add_subdirectory(osk)
|
||||
add_subdirectory(rapps)
|
||||
add_subdirectory(rapps_com)
|
||||
add_subdirectory(rapps_new)
|
||||
add_subdirectory(regedit)
|
||||
add_subdirectory(regedt32)
|
||||
add_subdirectory(runas)
|
||||
add_subdirectory(sc)
|
||||
add_subdirectory(screensavers)
|
||||
add_subdirectory(sdbinst)
|
||||
add_subdirectory(setup16)
|
||||
add_subdirectory(shutdown)
|
||||
add_subdirectory(sndrec32)
|
||||
add_subdirectory(sndvol32)
|
||||
add_subdirectory(taskmgr)
|
||||
add_subdirectory(utilman)
|
||||
add_subdirectory(winhlp32)
|
||||
add_subdirectory(winver)
|
||||
add_subdirectory(wordpad)
|
||||
add_subdirectory(write)
|
||||
add_subdirectory(wusa)
|
||||
|
@@ -1,4 +1,5 @@
|
||||
|
||||
set_cpp()
|
||||
add_definitions(-DUSER_MODE)
|
||||
include_directories(${REACTOS_SOURCE_DIR}/drivers/storage/ide/uniata)
|
||||
add_executable(atactl atactl.cpp atactl.rc)
|
||||
|
@@ -91,14 +91,14 @@ void print_help() {
|
||||
" will switch device at Scsi2, bus 1, taget_id 1 to UDMA0 mode\n"
|
||||
" atactl -h -d 30 c1:b0:d0:l0 \n"
|
||||
" will hide Master (d0:l0) device on secondary (c1:b0) IDE channel\n"
|
||||
" and lock i/o on this channel for 30 seconds to ensure safety\n"
|
||||
" and lock i/o on this channel for 30 seconds to ensure safity\n"
|
||||
" of removal process"
|
||||
"------\n"
|
||||
"Device address format:\n"
|
||||
"\n"
|
||||
"s<controller id> number of controller in system. Is assigned during hardware\n"
|
||||
" detection. Usually s0/s1 are ATA Pri/Sec.\n"
|
||||
" Note, due do NT internal design ATA controllers are represented\n"
|
||||
" Note, due do NT internal desing ATA controllers are represented\n"
|
||||
" as SCSI controllers.\n"
|
||||
"b<bus id> For ATA controllers it is channel number.\n"
|
||||
" Note, usually onboard controller is represented as 2 legacy\n"
|
||||
@@ -445,7 +445,7 @@ ata_str_to_mode(
|
||||
)
|
||||
{
|
||||
int mode;
|
||||
size_t len;
|
||||
int len;
|
||||
|
||||
if(!_stricmp(str, "SATA600"))
|
||||
return ATA_SA600;
|
||||
@@ -1283,7 +1283,7 @@ ata_scan(
|
||||
to.WaitForPhysicalLink = lock;
|
||||
to.Flags = unhide ? UNIATA_ADD_FLAGS_UNHIDE : 0;
|
||||
|
||||
printf("Scanning bus for new devices.\n");
|
||||
printf("Scaning bus for new devices.\n");
|
||||
if(lock) {
|
||||
printf("You have %d seconds to connect device.\n", lock);
|
||||
}
|
||||
@@ -1688,8 +1688,7 @@ main (
|
||||
)
|
||||
{
|
||||
//ULONG Flags = 0;
|
||||
intptr_t i;
|
||||
uintptr_t j;
|
||||
int i, j;
|
||||
char a;
|
||||
int bus_id = -1;
|
||||
int dev_id = -1;
|
||||
|
@@ -1,8 +1,6 @@
|
||||
|
||||
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/conutils)
|
||||
|
||||
add_executable(cacls cacls.c cacls.rc)
|
||||
list(APPEND SOURCE cacls.c cacls.rc)
|
||||
add_executable(cacls ${SOURCE})
|
||||
set_module_type(cacls win32cui UNICODE)
|
||||
target_link_libraries(cacls conutils ${PSEH_LIB})
|
||||
add_importlibs(cacls advapi32 user32 shell32 msvcrt kernel32)
|
||||
add_cd_file(TARGET cacls DESTINATION reactos/system32 FOR all)
|
||||
|
@@ -33,17 +33,155 @@ static GENERIC_MAPPING FileGenericMapping =
|
||||
};
|
||||
|
||||
|
||||
static VOID
|
||||
PrintError(DWORD dwError)
|
||||
static
|
||||
INT
|
||||
LengthOfStrResource(IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
if (dwError == ERROR_SUCCESS)
|
||||
return;
|
||||
HRSRC hrSrc;
|
||||
HGLOBAL hRes;
|
||||
LPWSTR lpName, lpStr;
|
||||
|
||||
ConMsgPuts(StdErr, FORMAT_MESSAGE_FROM_SYSTEM,
|
||||
NULL, dwError, LANG_USER_DEFAULT);
|
||||
if (hInst == NULL)
|
||||
{
|
||||
hInst = GetModuleHandle(NULL);
|
||||
}
|
||||
|
||||
/* There are always blocks of 16 strings */
|
||||
lpName = (LPWSTR)MAKEINTRESOURCE((uID >> 4) + 1);
|
||||
|
||||
/* Find the string table block */
|
||||
hrSrc = FindResourceW(hInst, lpName, (LPWSTR)RT_STRING);
|
||||
if (hrSrc)
|
||||
{
|
||||
hRes = LoadResource(hInst, hrSrc);
|
||||
if (hRes)
|
||||
{
|
||||
lpStr = LockResource(hRes);
|
||||
if (lpStr)
|
||||
{
|
||||
UINT x;
|
||||
|
||||
/* Find the string we're looking for */
|
||||
uID &= 0xF; /* position in the block, same as % 16 */
|
||||
for (x = 0; x < uID; x++)
|
||||
{
|
||||
lpStr += (*lpStr) + 1;
|
||||
}
|
||||
|
||||
/* Found the string */
|
||||
return (int)(*lpStr);
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
static BOOL
|
||||
|
||||
static
|
||||
INT
|
||||
AllocAndLoadString(OUT LPTSTR *lpTarget,
|
||||
IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
INT ln;
|
||||
|
||||
ln = LengthOfStrResource(hInst,
|
||||
uID);
|
||||
if (ln++ > 0)
|
||||
{
|
||||
(*lpTarget) = (LPTSTR)HeapAlloc(GetProcessHeap(),
|
||||
0,
|
||||
ln * sizeof(TCHAR));
|
||||
if ((*lpTarget) != NULL)
|
||||
{
|
||||
INT Ret;
|
||||
Ret = LoadString(hInst,
|
||||
uID,
|
||||
*lpTarget,
|
||||
ln);
|
||||
if (!Ret)
|
||||
{
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
*lpTarget);
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
PrintHelp(VOID)
|
||||
{
|
||||
LPTSTR szHelp;
|
||||
|
||||
if (AllocAndLoadString(&szHelp,
|
||||
NULL,
|
||||
IDS_HELP) != 0)
|
||||
{
|
||||
_tprintf(_T("%s"),
|
||||
szHelp);
|
||||
|
||||
HeapFree(GetProcessHeap(),
|
||||
0,
|
||||
szHelp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
PrintErrorMessage(IN DWORD dwError)
|
||||
{
|
||||
LPTSTR szError;
|
||||
|
||||
if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||
FORMAT_MESSAGE_IGNORE_INSERTS |
|
||||
FORMAT_MESSAGE_FROM_SYSTEM,
|
||||
NULL,
|
||||
dwError,
|
||||
MAKELANGID(LANG_NEUTRAL,
|
||||
SUBLANG_DEFAULT),
|
||||
(LPTSTR)&szError,
|
||||
0,
|
||||
NULL) != 0)
|
||||
{
|
||||
_tprintf(_T("%s"),
|
||||
szError);
|
||||
LocalFree((HLOCAL)szError);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
DWORD
|
||||
LoadAndPrintString(IN HINSTANCE hInst,
|
||||
IN UINT uID)
|
||||
{
|
||||
TCHAR szTemp[255];
|
||||
DWORD Len;
|
||||
|
||||
Len = (DWORD)LoadString(hInst,
|
||||
uID,
|
||||
szTemp,
|
||||
sizeof(szTemp) / sizeof(szTemp[0]));
|
||||
|
||||
if (Len != 0)
|
||||
{
|
||||
_tprintf(_T("%s"),
|
||||
szTemp);
|
||||
}
|
||||
|
||||
return Len;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
BOOL
|
||||
PrintFileDacl(IN LPTSTR FilePath,
|
||||
IN LPTSTR FileName)
|
||||
{
|
||||
@@ -61,8 +199,10 @@ PrintFileDacl(IN LPTSTR FilePath,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
_tcscpy(FullFileName, FilePath);
|
||||
_tcscat(FullFileName, FileName);
|
||||
_tcscpy(FullFileName,
|
||||
FilePath);
|
||||
_tcscat(FullFileName,
|
||||
FileName);
|
||||
|
||||
/* find out how much memory we need */
|
||||
if (!GetFileSecurity(FullFileName,
|
||||
@@ -178,7 +318,8 @@ BuildSidString:
|
||||
}
|
||||
|
||||
/* print the file name or space */
|
||||
ConPrintf(StdOut, L"%s ", FullFileName);
|
||||
_tprintf(_T("%s "),
|
||||
FullFileName);
|
||||
|
||||
/* attempt to map the SID to a user name */
|
||||
if (AceIndex == 0)
|
||||
@@ -194,29 +335,35 @@ BuildSidString:
|
||||
/* print the domain and/or user if possible, or the SID string */
|
||||
if (Name != NULL && Domain[0] != _T('\0'))
|
||||
{
|
||||
ConPrintf(StdOut, L"%s\\%s:", Domain, Name);
|
||||
_tprintf(_T("%s\\%s:"),
|
||||
Domain,
|
||||
Name);
|
||||
IndentAccess = (DWORD)_tcslen(Domain) + _tcslen(Name);
|
||||
}
|
||||
else
|
||||
{
|
||||
LPTSTR DisplayString = (Name != NULL ? Name : SidString);
|
||||
|
||||
ConPrintf(StdOut, L"%s:", DisplayString);
|
||||
_tprintf(_T("%s:"),
|
||||
DisplayString);
|
||||
IndentAccess = (DWORD)_tcslen(DisplayString);
|
||||
}
|
||||
|
||||
/* print the ACE Flags */
|
||||
if (Ace->Header.AceFlags & CONTAINER_INHERIT_ACE)
|
||||
{
|
||||
IndentAccess += ConResPuts(StdOut, IDS_ABBR_CI);
|
||||
IndentAccess += LoadAndPrintString(NULL,
|
||||
IDS_ABBR_CI);
|
||||
}
|
||||
if (Ace->Header.AceFlags & OBJECT_INHERIT_ACE)
|
||||
{
|
||||
IndentAccess += ConResPuts(StdOut, IDS_ABBR_OI);
|
||||
IndentAccess += LoadAndPrintString(NULL,
|
||||
IDS_ABBR_OI);
|
||||
}
|
||||
if (Ace->Header.AceFlags & INHERIT_ONLY_ACE)
|
||||
{
|
||||
IndentAccess += ConResPuts(StdOut, IDS_ABBR_IO);
|
||||
IndentAccess += LoadAndPrintString(NULL,
|
||||
IDS_ABBR_IO);
|
||||
}
|
||||
|
||||
IndentAccess += 2;
|
||||
@@ -228,11 +375,13 @@ BuildSidString:
|
||||
{
|
||||
if (AccessMask == FILE_ALL_ACCESS)
|
||||
{
|
||||
ConResPuts(StdOut, IDS_ABBR_NONE);
|
||||
LoadAndPrintString(NULL,
|
||||
IDS_ABBR_NONE);
|
||||
}
|
||||
else
|
||||
{
|
||||
ConResPuts(StdOut, IDS_DENY);
|
||||
LoadAndPrintString(NULL,
|
||||
IDS_DENY);
|
||||
goto PrintSpecialAccess;
|
||||
}
|
||||
}
|
||||
@@ -240,20 +389,24 @@ BuildSidString:
|
||||
{
|
||||
if (AccessMask == FILE_ALL_ACCESS)
|
||||
{
|
||||
ConResPuts(StdOut, IDS_ABBR_FULL);
|
||||
LoadAndPrintString(NULL,
|
||||
IDS_ABBR_FULL);
|
||||
}
|
||||
else if (!(Ace->Mask & (GENERIC_READ | GENERIC_EXECUTE)) &&
|
||||
AccessMask == (FILE_GENERIC_READ | FILE_EXECUTE))
|
||||
{
|
||||
ConResPuts(StdOut, IDS_ABBR_READ);
|
||||
LoadAndPrintString(NULL,
|
||||
IDS_ABBR_READ);
|
||||
}
|
||||
else if (AccessMask == (FILE_GENERIC_READ | FILE_GENERIC_WRITE | FILE_EXECUTE | DELETE))
|
||||
{
|
||||
ConResPuts(StdOut, IDS_ABBR_CHANGE);
|
||||
LoadAndPrintString(NULL,
|
||||
IDS_ABBR_CHANGE);
|
||||
}
|
||||
else if (AccessMask == FILE_GENERIC_WRITE)
|
||||
{
|
||||
ConResPuts(StdOut, IDS_ABBR_WRITE);
|
||||
LoadAndPrintString(NULL,
|
||||
IDS_ABBR_WRITE);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -293,32 +446,38 @@ BuildSidString:
|
||||
{STANDARD_RIGHTS_ALL, IDS_STANDARD_RIGHTS_ALL},
|
||||
};
|
||||
|
||||
ConResPuts(StdOut, IDS_ALLOW);
|
||||
LoadAndPrintString(NULL,
|
||||
IDS_ALLOW);
|
||||
|
||||
PrintSpecialAccess:
|
||||
ConResPuts(StdOut, IDS_SPECIAL_ACCESS);
|
||||
LoadAndPrintString(NULL,
|
||||
IDS_SPECIAL_ACCESS);
|
||||
|
||||
/* print the special access rights */
|
||||
x = ARRAYSIZE(AccessRights);
|
||||
x = sizeof(AccessRights) / sizeof(AccessRights[0]);
|
||||
while (x-- != 0)
|
||||
{
|
||||
if ((Ace->Mask & AccessRights[x].Access) == AccessRights[x].Access)
|
||||
{
|
||||
ConPrintf(StdOut, L"\n%s ", FullFileName);
|
||||
for (x2 = 0; x2 < IndentAccess; x2++)
|
||||
_tprintf(_T("\n%s "),
|
||||
FullFileName);
|
||||
for (x2 = 0;
|
||||
x2 < IndentAccess;
|
||||
x2++)
|
||||
{
|
||||
ConPuts(StdOut, L" ");
|
||||
_tprintf(_T(" "));
|
||||
}
|
||||
|
||||
ConResPuts(StdOut, AccessRights[x].uID);
|
||||
LoadAndPrintString(NULL,
|
||||
AccessRights[x].uID);
|
||||
}
|
||||
}
|
||||
|
||||
ConPuts(StdOut, L"\n");
|
||||
_tprintf(_T("\n"));
|
||||
}
|
||||
}
|
||||
|
||||
ConPuts(StdOut, L"\n");
|
||||
_tprintf(_T("\n"));
|
||||
|
||||
/* free up all resources */
|
||||
if (Name != NULL)
|
||||
@@ -382,7 +541,7 @@ GetPathOfFile(LPTSTR FilePath, LPCTSTR pszFiles)
|
||||
*pch = 0;
|
||||
if (!GetFullPathName(FilePath, MAX_PATH, FullPath, NULL))
|
||||
{
|
||||
PrintError(GetLastError());
|
||||
PrintErrorMessage(GetLastError());
|
||||
return FALSE;
|
||||
}
|
||||
lstrcpyn(FilePath, FullPath, MAX_PATH);
|
||||
@@ -390,7 +549,7 @@ GetPathOfFile(LPTSTR FilePath, LPCTSTR pszFiles)
|
||||
attrs = GetFileAttributes(FilePath);
|
||||
if (attrs == 0xFFFFFFFF || !(attrs & FILE_ATTRIBUTE_DIRECTORY))
|
||||
{
|
||||
PrintError(ERROR_DIRECTORY);
|
||||
PrintErrorMessage(ERROR_DIRECTORY);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
@@ -432,7 +591,7 @@ PrintDaclsOfFiles(LPCTSTR pszFiles)
|
||||
LastError = GetLastError();
|
||||
if (LastError == ERROR_ACCESS_DENIED)
|
||||
{
|
||||
PrintError(LastError);
|
||||
PrintErrorMessage(LastError);
|
||||
if (!OptionC)
|
||||
{
|
||||
FindClose(hFind);
|
||||
@@ -440,21 +599,17 @@ PrintDaclsOfFiles(LPCTSTR pszFiles)
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ConPuts(StdOut, L"\n");
|
||||
}
|
||||
_tprintf(_T("\n"));
|
||||
} while(FindNextFile(hFind, &FindData));
|
||||
LastError = GetLastError();
|
||||
FindClose(hFind);
|
||||
|
||||
if (LastError != ERROR_NO_MORE_FILES)
|
||||
{
|
||||
PrintError(LastError);
|
||||
PrintErrorMessage(LastError);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -616,7 +771,7 @@ ChangeACLsOfFiles(LPCTSTR pszFiles)
|
||||
LastError = GetLastError();
|
||||
if (LastError == ERROR_ACCESS_DENIED)
|
||||
{
|
||||
PrintError(LastError);
|
||||
PrintErrorMessage(LastError);
|
||||
if (!OptionC)
|
||||
{
|
||||
FindClose(hFind);
|
||||
@@ -633,7 +788,7 @@ ChangeACLsOfFiles(LPCTSTR pszFiles)
|
||||
|
||||
if (LastError != ERROR_NO_MORE_FILES)
|
||||
{
|
||||
PrintError(LastError);
|
||||
PrintErrorMessage(LastError);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -671,7 +826,7 @@ ChangeACLsOfFilesInCurDir(LPCTSTR pszFiles)
|
||||
LastError = GetLastError();
|
||||
if (LastError == ERROR_ACCESS_DENIED)
|
||||
{
|
||||
PrintError(LastError);
|
||||
PrintErrorMessage(LastError);
|
||||
if (!OptionC)
|
||||
{
|
||||
FindClose(hFind);
|
||||
@@ -688,7 +843,7 @@ ChangeACLsOfFilesInCurDir(LPCTSTR pszFiles)
|
||||
|
||||
if (LastError != ERROR_NO_MORE_FILES)
|
||||
{
|
||||
PrintError(LastError);
|
||||
PrintErrorMessage(LastError);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -717,7 +872,7 @@ ChangeACLsOfFilesInCurDir(LPCTSTR pszFiles)
|
||||
LastError = GetLastError();
|
||||
if (LastError == ERROR_ACCESS_DENIED)
|
||||
{
|
||||
PrintError(LastError);
|
||||
PrintErrorMessage(LastError);
|
||||
if (!OptionC)
|
||||
{
|
||||
FindClose(hFind);
|
||||
@@ -734,29 +889,26 @@ ChangeACLsOfFilesInCurDir(LPCTSTR pszFiles)
|
||||
|
||||
if (LastError != ERROR_NO_MORE_FILES)
|
||||
{
|
||||
PrintError(LastError);
|
||||
PrintErrorMessage(LastError);
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int _tmain(int argc, const TCHAR *argv[])
|
||||
int
|
||||
__cdecl
|
||||
_tmain(int argc, const TCHAR *argv[])
|
||||
{
|
||||
INT i;
|
||||
LPTSTR pch;
|
||||
BOOL InvalidParameter = FALSE;
|
||||
|
||||
/* Initialize the Console Standard Streams */
|
||||
ConInitStdStreams();
|
||||
|
||||
if (argc <= 1)
|
||||
{
|
||||
ConResPuts(StdOut, IDS_HELP);
|
||||
PrintHelp();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// FIXME: Convert to proper parsing, with support for /?
|
||||
|
||||
/*
|
||||
* parse command line options
|
||||
*/
|
||||
@@ -839,8 +991,8 @@ int _tmain(int argc, const TCHAR *argv[])
|
||||
|
||||
if (InvalidParameter)
|
||||
{
|
||||
PrintError(ERROR_INVALID_PARAMETER);
|
||||
ConResPuts(StdOut, IDS_HELP);
|
||||
PrintErrorMessage(ERROR_INVALID_PARAMETER);
|
||||
PrintHelp();
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@@ -60,9 +60,6 @@
|
||||
#ifdef LANGUAGE_PT_BR
|
||||
#include "lang/pt-BR.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_PT_PT
|
||||
#include "lang/pt-PT.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_RO_RO
|
||||
#include "lang/ro-RO.rc"
|
||||
#endif
|
||||
@@ -78,9 +75,6 @@
|
||||
#ifdef LANGUAGE_SQ_AL
|
||||
#include "lang/sq-AL.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_SR_SP
|
||||
#include "lang/sr-SP.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_TR_TR
|
||||
#include "lang/tr-TR.rc"
|
||||
#endif
|
||||
@@ -90,9 +84,6 @@
|
||||
#ifdef LANGUAGE_ZH_CN
|
||||
#include "lang/zh-CN.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_ZH_HK
|
||||
#include "lang/zh-HK.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_ZH_TW
|
||||
#include "lang/zh-TW.rc"
|
||||
#endif
|
||||
|
@@ -7,7 +7,7 @@ CACLS файлово_име [/T] [/E] [/C] [/G потребител:права [
|
||||
[/P потребител:права [...]] [/D име [...]]\n\
|
||||
файлово_име Показване на СзД.\n\
|
||||
/T Променя СзД на указаните файлове в\n\
|
||||
текущата папка и всички подпапки.\n\
|
||||
текущата папка и всички подпапки. \n\
|
||||
/E Промяна на СзД, вместо замяна.\n\
|
||||
/C Продължаване поради грешки поради отказ на достъп.\n\
|
||||
/G потребител:права Предоставяне на права на достъп на указания потребител.\n\
|
||||
@@ -21,7 +21,7 @@ CACLS файлово_име [/T] [/E] [/C] [/G потребител:права [
|
||||
R Четене\n\
|
||||
W Писане\n\
|
||||
C Промяна (писане)\n\
|
||||
F Всички права\n\
|
||||
F Всички права \n\
|
||||
/D потребител Лишаване на потребител от достъп.\n\
|
||||
Могат да се използват заместващи знаци (* и ?) за указване на повече от един файл..\n\n\
|
||||
Съкращения:\n\
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FILE: base/applications/cacls/lang/cs-CZ.rc
|
||||
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||
* UPDATED: 2008-02-29
|
||||
|
@@ -23,8 +23,7 @@ CACLS όνομα_αρχείου [/T] [/E] [/C] [/G χρήστης:άδειες [
|
||||
C Αλλαγή (εγγραφή)\n\
|
||||
F Πλήρης έλεγχος\n\
|
||||
/D user Αποτροπή χρήστη από προσπέλαση.\n\
|
||||
Τα Wildcards μπορούν να χρησιμοποιηθούν για να προσδιορίσουν παραπαπάνω από\n\
|
||||
ένα αρχεία στην εντολή.\n\
|
||||
Τα Wildcards μπορούν να χρησιμοποιηθούν για να προσδιορίσουν παραπαπάνω από ένα αρχεία στην εντολή.\n\
|
||||
Μπορείτε να προσδιορίσετε παρπαάνω από έναν χρήστη στην εντολή.\n\n\
|
||||
Abbreviations:\n\
|
||||
CI - Container Inherit.\n\
|
||||
|
@@ -18,8 +18,7 @@ CACLS archivo [/T] [/E] [/C] [/G user:perm [...]] [/R usuario [...]]\n\
|
||||
W Escribir\n\
|
||||
C Cambiar (escribir)\n\
|
||||
F Control total\n\
|
||||
/R usuario Revoca los derechos de acceso al usuario especificado\n\
|
||||
(unicamente válido con /E).\n\
|
||||
/R usuario Revoca los derechos de acceso al usuario especificado (unicamente válido con /E).\n\
|
||||
/P user:perm Reemplaza los derechos de acceso del usuario especificado.\n\
|
||||
Perm puede ser: N Ninguno\n\
|
||||
R Leer\n\
|
||||
|
@@ -15,17 +15,15 @@ CACLS nomfichier [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
|
||||
W Écriture\n\
|
||||
C Modification (Écriture)\n\
|
||||
F Contrôle total\n\
|
||||
/R user Supprime les droits d'accès de l'utilisateur spécifié\n\
|
||||
(valide uniquement avec /E).\n\
|
||||
/R user Supprime les droits d'accès de l'utilisateur spécifié (valide uniquement avec /E).\n\
|
||||
/P user:perm Remplace les droits d'accès de l'utilisateur spécifié.\n\
|
||||
Perm peut valoir : N Aucun\n\
|
||||
Perm peut valoir : N Aucun \n\
|
||||
R Lecture\n\
|
||||
W Écriture\n\
|
||||
C Modification (Écriture)\n\
|
||||
F Contrôle total\n\
|
||||
/D user Interdit l'accès à l'utilisateur spécifié.\n\
|
||||
Il est possible d'utiliser des caractères joker pour sélectionner plus d'un\n\
|
||||
fichier avec une commande.\n\
|
||||
Il est possible d'utiliser des caractères joker pour sélectionner plus d'un fichier avec une commande.\n\
|
||||
Il est possible de spécifier plus d'un utilisateur dans une commande.\n\n\
|
||||
Abréviations:\n\
|
||||
CI - Héritage du conteneur.\n\
|
||||
|
@@ -2,9 +2,7 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_HELP "ACL's (Access Control Lists, toegangslijsten) van bestanden weergeven\n\
|
||||
of bewerken\n\n\
|
||||
CACLS bestandsnaam [/T] [/E] [/C] [/G gebr:toeg] [/R gebruiker [...]]\n\
|
||||
IDS_HELP "ACL's (Access Control Lists, toegangslijsten) van bestanden weergeven\nof bewerken\n\nCACLS bestandsnaam [/T] [/E] [/C] [/G gebr:toeg] [/R gebruiker [...]]\n\
|
||||
[/P gebr:toeg [...]] [/D gebruiker [...]]\n\
|
||||
bestandsnaam ACL's weergeven.\n\
|
||||
/T ACL's wijzigen van opgegeven bestanden in\n\
|
||||
|
@@ -24,8 +24,7 @@ CACLS nazwa pliku [/T] [/E] [/C] [/G użytkownik:dostęp [...]] [/R użytkownik
|
||||
W Zapis\n\
|
||||
C Zmiana (zapis)\n\
|
||||
F Pełny dostęp\n\
|
||||
/R użytkownik Odwołuje prawa dostępu określonemu użytkownikowi\n\
|
||||
(działa tylko z opcją /E).\n\
|
||||
/R użytkownik Odwołuje prawa dostępu określonemu użytkownikowi (działa tylko z opcją /E).\n\
|
||||
/P użytkownik:dostęp Edytuje prawa dostępu określonego użytkownika.\n\
|
||||
Poziom dostępu:\n\
|
||||
N Brak\n\
|
||||
@@ -34,8 +33,7 @@ CACLS nazwa pliku [/T] [/E] [/C] [/G użytkownik:dostęp [...]] [/R użytkownik
|
||||
C Zmiana (zapis)\n\
|
||||
F Pełny dostęp\n\
|
||||
/D użytkownik Odbiera prawa dostępu określonemu użytkownikowi.\n\
|
||||
W jednym poleceniu można edytować prawa dostępu do wielu plików, używając\n\
|
||||
symboli wieloznacznych.\n\
|
||||
W jednym poleceniu można edytować prawa dostępu do wielu plików, używając symboli wieloznacznych.\n\
|
||||
W jednym poleceniu można edytować prawa dostępu wielu użytkowników.\n\n\
|
||||
Skróty:\n\
|
||||
CI - Dziedziczenie kontenera.\n\
|
||||
|
@@ -1,4 +1,4 @@
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
|
@@ -1,74 +0,0 @@
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_HELP "Mostra ou modifica as listas de controle de acesso (ACLs) de ficheiros\n\n\
|
||||
CACLS nome-ficheiro [/T] [/E] [/C] [/G utilizador:perm] [/R utilizador [...]]\n\
|
||||
[/P utilizador:perm [...]] [/D utilizador [...]]\n\
|
||||
nome-ficheiro Mostra ACLs.\n\
|
||||
/T Altera ACLs de ficheiros especificados\n\
|
||||
na pasta actual e em todas as subpastas.\n\
|
||||
/E Edita ACL em vez de substituí-la.\n\
|
||||
/C Continua ao encontrar erros de acesso negado.\n\
|
||||
/G utilizador:perm Concede os direitos de acesso ao utilizador especificado.\n\
|
||||
Perm pode ser: R Ler\n\
|
||||
W Gravar\n\
|
||||
C Alterar (gravar)\n\
|
||||
F Controle total\n\
|
||||
/R utilizador Revoga os direitos de acesso do utilizador especificado\n\
|
||||
(válido somente com /E).\n\
|
||||
/P utilizador:perm Substitui os direitos de acesso do utilizador especificado.\n\
|
||||
Perm pode ser: N Nenhum\n\
|
||||
R Ler\n\
|
||||
W Gravar\n\
|
||||
C Alterar (gravar)\n\
|
||||
F Controle total\n\
|
||||
/D utilizador Nega o acesso ao utilizador especificado.\n\
|
||||
Caracteres curinga podem ser usados para especificar mais de um ficheiro\n\
|
||||
num comando.\n\
|
||||
Pode especificar mais de um utilizador num comando.\n\n\
|
||||
Abreviaçäes:\n\
|
||||
CI - Herança de recipiente.\n\
|
||||
O ACE será herdado pelas pastas.\n\
|
||||
OI - Herança de objeto.\n\
|
||||
O ACE será herdado pelos ficheiros.\n\
|
||||
IO - Somente herança.\n\
|
||||
O ACE não se aplica ao ficheiro/pasta actual.\n"
|
||||
IDS_ABBR_CI "(CI)"
|
||||
IDS_ABBR_OI "(OI)"
|
||||
IDS_ABBR_IO "(IO)"
|
||||
IDS_ABBR_FULL "F"
|
||||
IDS_ABBR_READ "R"
|
||||
IDS_ABBR_WRITE "W"
|
||||
IDS_ABBR_CHANGE "C"
|
||||
IDS_ABBR_NONE "N"
|
||||
IDS_ALLOW ""
|
||||
IDS_DENY "(DENY)"
|
||||
IDS_SPECIAL_ACCESS "(special access:)"
|
||||
IDS_GENERIC_READ "GENERIC_READ"
|
||||
IDS_GENERIC_WRITE "GENERIC_WRITE"
|
||||
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
|
||||
IDS_GENERIC_ALL "GENERIC_ALL"
|
||||
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
|
||||
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
|
||||
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
|
||||
IDS_FILE_READ_DATA "FILE_READ_DATA"
|
||||
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
|
||||
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
|
||||
IDS_FILE_READ_EA "FILE_READ_EA"
|
||||
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
|
||||
IDS_FILE_EXECUTE "FILE_EXECUTE"
|
||||
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
|
||||
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
|
||||
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
|
||||
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
|
||||
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
|
||||
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
|
||||
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
|
||||
IDS_SYNCHRONIZE "SYNCHRONIZE"
|
||||
IDS_WRITE_OWNER "WRITE_OWNER"
|
||||
IDS_WRITE_DAC "WRITE_DAC"
|
||||
IDS_READ_CONTROL "READ_CONTROL"
|
||||
IDS_DELETE "DELETE"
|
||||
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
|
||||
END
|
@@ -1,4 +1,4 @@
|
||||
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
|
||||
/* Ștefan Fulea (stefan dot fulea at mail dot md) */
|
||||
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE
|
||||
@@ -26,8 +26,8 @@ CACLS nume_fișier [/T] [/E] [/C] [/G utilizator:acces [...]]\n\
|
||||
C De modificare (scriere)\n\
|
||||
F Deplin\n\
|
||||
/D utilizator Interzice accesul pentru utilizatorul specificat.\n\
|
||||
Utilizând metacaractere pot fi specificate mai multe fișiere.\n\
|
||||
În aceiași comandă pot fi specificați mai mulți utilizatori.\n\n\
|
||||
Se pot specifica mai multe fișiere utilizând metacaractere.\n\
|
||||
Pot fi specificați mai mulți utilizatori în aceiași comandă.\n\n\
|
||||
Abrevieri:\n\
|
||||
CI - Moștenire container.\n\
|
||||
ACE moștenită de directoare.\n\
|
||||
|
@@ -1,149 +0,0 @@
|
||||
LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_HELP "Прикажи или измени листе за управљање приступима фајловима.\n\
|
||||
(access control lists ACLs)\n\n\
|
||||
CACLS имефајла [/T] [/E] [/C] [/G корисник:дозвола [...]] [/R корисник [...]]\n\
|
||||
[/P корисник:дозвола [...]] [/D корисник [...]]\n\
|
||||
имефајла Прикажи листе приступа.\n\
|
||||
/T Измени листе приступа задатих фајлова у\n\
|
||||
текућем и свим поддиректоријумима.\n\
|
||||
/E Измени постојећу листу приступа уместо да је замениш.\n\
|
||||
/C Настави након грешке о забрањеном приступу.\n\
|
||||
/G корисник:дозвола Додели наведена права корисничког приступа.\n\
|
||||
Дозвола може бити: R Читање\n\
|
||||
W Писање\n\
|
||||
C Измена (писање)\n\
|
||||
F Потпуно управљање\n\
|
||||
/R корисник Повуци дозволе приступа наведеног корисника\n\
|
||||
(исправно једино уз /E).\n\
|
||||
/P корисник:дозвола Замени дозволе приступа наведеног корисника.\n\
|
||||
Дозвола може бити: N Без приступа\n\
|
||||
R Читање\n\
|
||||
W Писање\n\
|
||||
C Измена (писање)\n\
|
||||
F Потпуно управљање\n\
|
||||
/D корисник Онемогући приступ наведеном кориснику.\n\
|
||||
У команди се могу користити џокер знаци ради задавања више од једног фајла.\n\
|
||||
У команди се може навести више од једног корисника.\n\n\
|
||||
Скраћенице:\n\
|
||||
CI - Наслеђивање по контејнерима (Container Inherit).\n\
|
||||
Нови упис (ACE) наслеђују директоријуми.\n\
|
||||
OI - Наслеђивање по објекту (Object Inherit).\n\
|
||||
Нови упис (ACE) наслеђују фајлови.\n\
|
||||
IO - Само наслеђивање (Inherit Only).\n\
|
||||
Упис не важи за текући фајл/директоријум.\n"
|
||||
IDS_ABBR_CI "(CI)"
|
||||
IDS_ABBR_OI "(OI)"
|
||||
IDS_ABBR_IO "(IO)"
|
||||
IDS_ABBR_FULL "F"
|
||||
IDS_ABBR_READ "R"
|
||||
IDS_ABBR_WRITE "W"
|
||||
IDS_ABBR_CHANGE "C"
|
||||
IDS_ABBR_NONE "N"
|
||||
IDS_ALLOW ""
|
||||
IDS_DENY "(DENY)"
|
||||
IDS_SPECIAL_ACCESS "(special access:)"
|
||||
IDS_GENERIC_READ "GENERIC_READ"
|
||||
IDS_GENERIC_WRITE "GENERIC_WRITE"
|
||||
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
|
||||
IDS_GENERIC_ALL "GENERIC_ALL"
|
||||
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
|
||||
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
|
||||
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
|
||||
IDS_FILE_READ_DATA "FILE_READ_DATA"
|
||||
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
|
||||
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
|
||||
IDS_FILE_READ_EA "FILE_READ_EA"
|
||||
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
|
||||
IDS_FILE_EXECUTE "FILE_EXECUTE"
|
||||
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
|
||||
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
|
||||
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
|
||||
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
|
||||
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
|
||||
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
|
||||
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
|
||||
IDS_SYNCHRONIZE "SYNCHRONIZE"
|
||||
IDS_WRITE_OWNER "WRITE_OWNER"
|
||||
IDS_WRITE_DAC "WRITE_DAC"
|
||||
IDS_READ_CONTROL "READ_CONTROL"
|
||||
IDS_DELETE "DELETE"
|
||||
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
|
||||
END
|
||||
|
||||
LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_HELP "Prikaži ili izmeni liste za upravljanje pristupima fajlovima.\n\
|
||||
(access control lists ACLs)\n\n\
|
||||
CACLS imefajla [/T] [/E] [/C] [/G korisnik:dozvola [...]] [/R korisnik [...]]\n\
|
||||
[/P korisnik:dozvola [...]] [/D korisnik [...]]\n\
|
||||
imefajla Prikaži liste pristupa.\n\
|
||||
/T Izmeni liste pristupa zadatih fajlova u\n\
|
||||
tekućem i svim poddirektorijumima.\n\
|
||||
/E Izmeni postojeću listu pristupa umesto da je zameniš.\n\
|
||||
/C Nastavi nakon greške o zabranjenom pristupu.\n\
|
||||
/G korisnik:dozvola Dodeli navedena prava korisničkog pristupa.\n\
|
||||
Dozvola može biti: R Čitanje\n\
|
||||
W Pisanje\n\
|
||||
C Izmena (pisanje)\n\
|
||||
F Potpuno upravljanje\n\
|
||||
/R korisnik Povuci dozvole pristupa navedenog korisnika\n\
|
||||
(ispravno jedino uz /E).\n\
|
||||
/P korisnik:dozvola Zameni dozvole pristupa navedenog korisnika.\n\
|
||||
Dozvola može biti: N Bez pristupa\n\
|
||||
R Čitanje\n\
|
||||
W Pisanje\n\
|
||||
C Izmena (pisanje)\n\
|
||||
F Potpuno upravljanje\n\
|
||||
/D korisnik Onemogući pristup navedenom korisniku.\n\
|
||||
U komandi se mogu koristiti džoker znaci radi zadavanja više od jednog fajla.\n\
|
||||
U komandi se može navesti više od jednog korisnika.\n\n\
|
||||
Skraćenice:\n\
|
||||
CI - Nasleđivanje po kontejnerima (Container Inherit).\n\
|
||||
Novi upis (ACE) nasleđuju direktorijumi.\n\
|
||||
OI - Nasleđivanje po objektu (Object Inherit).\n\
|
||||
Novi upis (ACE) nasleđuju fajlovi.\n\
|
||||
IO - Samo nasleđivanje (Inherit Only).\n\
|
||||
Upis ne važi za tekući fajl/direktorijum.\n"
|
||||
IDS_ABBR_CI "(CI)"
|
||||
IDS_ABBR_OI "(OI)"
|
||||
IDS_ABBR_IO "(IO)"
|
||||
IDS_ABBR_FULL "F"
|
||||
IDS_ABBR_READ "R"
|
||||
IDS_ABBR_WRITE "W"
|
||||
IDS_ABBR_CHANGE "C"
|
||||
IDS_ABBR_NONE "N"
|
||||
IDS_ALLOW ""
|
||||
IDS_DENY "(DENY)"
|
||||
IDS_SPECIAL_ACCESS "(special access:)"
|
||||
IDS_GENERIC_READ "GENERIC_READ"
|
||||
IDS_GENERIC_WRITE "GENERIC_WRITE"
|
||||
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
|
||||
IDS_GENERIC_ALL "GENERIC_ALL"
|
||||
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
|
||||
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
|
||||
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
|
||||
IDS_FILE_READ_DATA "FILE_READ_DATA"
|
||||
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
|
||||
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
|
||||
IDS_FILE_READ_EA "FILE_READ_EA"
|
||||
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
|
||||
IDS_FILE_EXECUTE "FILE_EXECUTE"
|
||||
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
|
||||
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
|
||||
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
|
||||
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
|
||||
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
|
||||
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
|
||||
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
|
||||
IDS_SYNCHRONIZE "SYNCHRONIZE"
|
||||
IDS_WRITE_OWNER "WRITE_OWNER"
|
||||
IDS_WRITE_DAC "WRITE_DAC"
|
||||
IDS_READ_CONTROL "READ_CONTROL"
|
||||
IDS_DELETE "DELETE"
|
||||
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
|
||||
END
|
@@ -47,7 +47,7 @@ Förkortningar:\n\
|
||||
IDS_ABBR_WRITE "W"
|
||||
IDS_ABBR_CHANGE "C"
|
||||
IDS_ABBR_NONE "N"
|
||||
IDS_ALLOW "(TILLÅT)"
|
||||
IDS_ALLOW ""
|
||||
IDS_DENY "(NEKA)"
|
||||
IDS_SPECIAL_ACCESS "(speciell rättighet:)"
|
||||
IDS_GENERIC_READ "GENERISK_LÄSNING"
|
||||
@@ -73,7 +73,7 @@ Förkortningar:\n\
|
||||
IDS_SYNCHRONIZE "SYNKRONISERA"
|
||||
IDS_WRITE_OWNER "SKRIVA_ÄGARE"
|
||||
IDS_WRITE_DAC "SKRIVA_DAC"
|
||||
IDS_READ_CONTROL "LÄSKONTROLL"
|
||||
IDS_READ_CONTROL "LÄSE_KONTROLL"
|
||||
IDS_DELETE "RADERA"
|
||||
IDS_STANDARD_RIGHTS_ALL "STANDARD_RÄTTIGHETER_ALLT"
|
||||
END
|
||||
|
@@ -1,44 +1,41 @@
|
||||
/* TRANSLATOR:
|
||||
2015 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
|
||||
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
|
||||
*/
|
||||
/* TRANSLATOR: 2015 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
|
||||
|
||||
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_HELP "Dosyaların erişim kontrol listelerini (ACL'ler) görüntüler veya değiştirir.\n\n\
|
||||
CACLS dosya adı [/T] [/E] [/C] [/G kullanıcı:izin [...]] [/R kullanıcı [...]]\n\
|
||||
IDS_HELP "Kütüklerin erişim denetim dizelgelerini (ACL'lerini) görüntüler ya da değiştirir.\n\n\
|
||||
CACLS kütük adı [/T] [/E] [/C] [/G kullanıcı:izin [...]] [/R kullanıcı [...]]\n\
|
||||
[/P kullanıcı:izin [...]] [/D kullanıcı [...]]\n\
|
||||
dosya adı ACL'leri görüntüler.\n\
|
||||
kütük adı ACL'leri görüntüler.\n\
|
||||
/T Şimdiki dizin ve alt dizinlerin içinde\n\
|
||||
belirtilen dosyaların ACL'lerini değiştirir.\n\
|
||||
/E ACL'yi yenisiyle değiştirmek yerine onu düzenler.\n\
|
||||
/C Erişim engellendi hatalarına rağmen devam eder.\n\
|
||||
/G kullanıcı:izin Belirtilen kullanıcı erişim yetkilerini verir.\n\
|
||||
Yetkilerin biri şu olabilir: R Okuma\n\
|
||||
W Yazma\n\
|
||||
C Değiştirme (yazma)\n\
|
||||
F Tüm denetim\n\
|
||||
/R kullanıcı Belirtilen kullanıcının erişim yetkilerini geri alır.\n\
|
||||
belirtilen kütülerin ACL'lerini değiştirir.\n\
|
||||
/E ACL'yi yenisiyle değiştirme yerine onu düzenle.\n\
|
||||
/C Erişim engellendi yanlışlıklarıyla sürdür.\n\
|
||||
/G kullanıcı:izin Belirtilen kullanıcı erişim yetkilerini ver.\n\
|
||||
İzin şu olabilir: R Okuma\n\
|
||||
W Yazma\n\
|
||||
C Değiştirme (yazma)\n\
|
||||
F Tüm denetim\n\
|
||||
/R kullanıcı Belirtilen kullanıcının erişim yetkilerini geri al\n\
|
||||
(yalnızca /E ile geçerli).\n\
|
||||
/P kullanıcı:izin Belirtilen kullanıcının erişim yetkilerini yenileriyle\n\
|
||||
değiştirir.\n\
|
||||
Yetkilerin biri şu olabilir: N Yok\n\
|
||||
R Okuma\n\
|
||||
W Yazma\n\
|
||||
C Değiştirme (yazma)\n\
|
||||
F Tüm denetim\n\
|
||||
değiştir.\n\
|
||||
İzin şu olabilir: N Yok\n\
|
||||
R Okuma\n\
|
||||
W Yazma\n\
|
||||
C Değiştirme (yazma)\n\
|
||||
F Tüm denetim\n\
|
||||
/D kullanıcı Belirtilen kullanıcı erişimini verme.\n\
|
||||
Özel semboller, bir komutta birden fazla dosya belirtmek için kullanılabilir.\n\
|
||||
Bir komutta birden fazla kullanıcı belirtebilirsiniz.\n\n\
|
||||
Umûmî arama damgaları, bir komutta birden çok kütük belirtmek için kullanılabilir.\n\
|
||||
Bir komutta birden çok kullanıcı belirtebilirsiniz.\n\n\
|
||||
Kısaltmalar:\n\
|
||||
CI - Kapsayıcı Devralma.\n\
|
||||
CI - Kapsayıcı Devral.\n\
|
||||
ACE dizinlerle devralınacak.\n\
|
||||
OI - Nesnel Devralma.\n\
|
||||
ACE dosyalarla devralınacak.\n\
|
||||
OI - Nesne Devral.\n\
|
||||
ACE kütüklerle devralınacak.\n\
|
||||
IO - Yalnızca Devral.\n\
|
||||
ACE'yi şimdiki dosyaya ya da dizine uygulama.\n"
|
||||
ACE'yi şimdiki kütüğe ya da dizine uygulama.\n"
|
||||
IDS_ABBR_CI "(CI)"
|
||||
IDS_ABBR_OI "(OI)"
|
||||
IDS_ABBR_IO "(IO)"
|
||||
@@ -48,8 +45,8 @@ Kısaltmalar:\n\
|
||||
IDS_ABBR_CHANGE "C"
|
||||
IDS_ABBR_NONE "N"
|
||||
IDS_ALLOW ""
|
||||
IDS_DENY "(REDDET)"
|
||||
IDS_SPECIAL_ACCESS "(özel erişim:)"
|
||||
IDS_DENY "(VERME)"
|
||||
IDS_SPECIAL_ACCESS "(husûsî erişim:)"
|
||||
IDS_GENERIC_READ "GENERIC_READ"
|
||||
IDS_GENERIC_WRITE "GENERIC_WRITE"
|
||||
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
|
||||
|
@@ -13,13 +13,13 @@ BEGIN
|
||||
IDS_HELP "显示或者修改文件的访问控制表\n\n\
|
||||
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
|
||||
[/P user:perm [...]] [/D user [...]]\n\
|
||||
filename 显示访问控制表。\n\
|
||||
filename 显示 ACLs。\n\
|
||||
/T 更改当前目录及其所有子目录中\n\
|
||||
指定文件的 ACL。\n\
|
||||
/E 编辑访问控制表而不替换。\n\
|
||||
/E 编辑 ACL 而不替换。\n\
|
||||
/C 在出现拒绝访问错误时继续。\n\
|
||||
/G user:perm 赋予指定用户访问权限。\n\
|
||||
perm 可以是:R 读取\n\
|
||||
Perm 可以是: R 读取\n\
|
||||
W 写入\n\
|
||||
C 更改(写入)\n\
|
||||
F 完全控制\n\
|
||||
@@ -33,7 +33,7 @@ CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
|
||||
/D user 拒绝指定用户的访问。\n\
|
||||
在命令中可以使用通配符指定多个文件。\n\
|
||||
您也可以在命令中指定多个用户。\n\n\
|
||||
缩写:\n\
|
||||
缩写: \n\
|
||||
CI - 容器继承。\n\
|
||||
ACE会由目录继承。\n\
|
||||
OI - 对象继承。\n\
|
||||
|
@@ -1,80 +0,0 @@
|
||||
/*
|
||||
* PROJECT: ReactOS CACLS
|
||||
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
||||
* PURPOSE: Chinese (Hong Kong) resource file
|
||||
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
|
||||
* REFERENCES: Chinese (Traditional) resource file
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_HELP "顯示或修改文件的存取控制串列\n\n\
|
||||
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
|
||||
[/P user:perm [...]] [/D user [...]]\n\
|
||||
filename 顯示 ACLs。\n\
|
||||
/T 更改目前目錄及其所有子目錄\n\
|
||||
指定文件的 ACL。\n\
|
||||
/E 編輯 ACL 而不替換。\n\
|
||||
/C 在出現拒絕存取錯誤時繼續。\n\
|
||||
/G user:perm 賦予指定使用者存取權限。\n\
|
||||
perm 可以是: R 讀取\n\
|
||||
W 寫入\n\
|
||||
C 更改 (寫入)\n\
|
||||
F 完全控制\n\
|
||||
/R user 撤銷指定使用者的存取權限 (與 /E 一齊使用時才會有效)。\n\
|
||||
/P user:perm 更改指定使用者的存取權限。\n\
|
||||
perm 可以是: N 無\n\
|
||||
R 讀取\n\
|
||||
W 寫入\n\
|
||||
C 更改 (寫入)\n\
|
||||
F 完全控制\n\
|
||||
/D user 拒絕指定使用者的存取。\n\
|
||||
在命令中可以使用通配符指定多個檔案。\n\
|
||||
您亦可以在命令中指定多個使用者。\n\n\
|
||||
縮寫:\n\
|
||||
CI - 容器繼承。\n\
|
||||
ACE會由目錄繼承。\n\
|
||||
OI - 對象繼承。\n\
|
||||
ACE 會由文件繼承。\n\
|
||||
IO - 只繼承。\n\
|
||||
ACE 不適用於目前檔案/目錄。\n"
|
||||
IDS_ABBR_CI "(CI)"
|
||||
IDS_ABBR_OI "(OI)"
|
||||
IDS_ABBR_IO "(IO)"
|
||||
IDS_ABBR_FULL "F"
|
||||
IDS_ABBR_READ "R"
|
||||
IDS_ABBR_WRITE "W"
|
||||
IDS_ABBR_CHANGE "C"
|
||||
IDS_ABBR_NONE "N"
|
||||
IDS_ALLOW ""
|
||||
IDS_DENY "(DENY)"
|
||||
IDS_SPECIAL_ACCESS "(特殊存取:)"
|
||||
IDS_GENERIC_READ "GENERIC_READ"
|
||||
IDS_GENERIC_WRITE "GENERIC_WRITE"
|
||||
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
|
||||
IDS_GENERIC_ALL "GENERIC_ALL"
|
||||
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
|
||||
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
|
||||
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
|
||||
IDS_FILE_READ_DATA "FILE_READ_DATA"
|
||||
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
|
||||
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
|
||||
IDS_FILE_READ_EA "FILE_READ_EA"
|
||||
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
|
||||
IDS_FILE_EXECUTE "FILE_EXECUTE"
|
||||
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
|
||||
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
|
||||
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
|
||||
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
|
||||
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
|
||||
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
|
||||
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
|
||||
IDS_SYNCHRONIZE "SYNCHRONIZE"
|
||||
IDS_WRITE_OWNER "WRITE_OWNER"
|
||||
IDS_WRITE_DAC "WRITE_DAC"
|
||||
IDS_READ_CONTROL "READ_CONTROL"
|
||||
IDS_DELETE "DELETE"
|
||||
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
|
||||
END
|
@@ -1,45 +1,45 @@
|
||||
/*
|
||||
* PROJECT: ReactOS CACLS
|
||||
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
||||
* PURPOSE: Chinese (Traditional) resource file
|
||||
* TRANSLATORS: Copyright 2007 Chaoming Tseng <jauming.tw@gmail.com>
|
||||
* Copyright 2021 Chan Chilung <eason066@gmail.com>
|
||||
* PROJECT: ReactOS CACLS
|
||||
* FILE: base/applications/cacls/lang/zh-TW.rc
|
||||
* LICENSE: LGPL - See COPYING.LIB in the top level directory
|
||||
* PURPOSE: TRADITIONAL Chinese resource file
|
||||
* TRANSLATOR: jauming <jauming.tw@gmail.com>
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_HELP "顯示或修改文件的存取控制串列\n\n\
|
||||
IDS_HELP "顯示或者修改文件的訪問控制表\n\n\
|
||||
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
|
||||
[/P user:perm [...]] [/D user [...]]\n\
|
||||
filename 顯示 ACLs。\n\
|
||||
/T 更改目前目錄及其所有子目錄\n\
|
||||
/T 更改當前目錄及其所有子目錄中\n\
|
||||
指定文件的 ACL。\n\
|
||||
/E 編輯 ACL 而不替換。\n\
|
||||
/C 在出現拒絕存取錯誤時繼續。\n\
|
||||
/G user:perm 賦予指定使用者存取權限。\n\
|
||||
perm 可以是: R 讀取\n\
|
||||
/C 在出現拒絕訪問錯誤時繼續。\n\
|
||||
/G user:perm 賦予指定用戶訪問權限。\n\
|
||||
Perm 可以是: R 讀取\n\
|
||||
W 寫入\n\
|
||||
C 更改(寫入)\n\
|
||||
F 完全控制\n\
|
||||
/R user 撤銷指定使用者的存取權限 (僅在與 /E 一起使用時才有效)。\n\
|
||||
/P user:perm 替換指定使用者的存取權限。\n\
|
||||
perm 可以是: N 無\n\
|
||||
/R user 撤銷指定用戶的訪問權限(僅在与 /E 一起使用時合法)。\n\
|
||||
/P user:perm 替換指定用戶的訪問權限。\n\
|
||||
Perm 可以是: N 無\n\
|
||||
R 讀取\n\
|
||||
W 寫入\n\
|
||||
C 更改(寫入)\n\
|
||||
F 完全控制\n\
|
||||
/D user 拒絕指定使用者的存取。\n\
|
||||
C 更改(寫入) \n\
|
||||
F 完全控制 \n\
|
||||
/D user 拒絕指定用戶的訪問。\n\
|
||||
在命令中可以使用通配符指定多個文件。\n\
|
||||
您也可以在命令中指定多個使用者。\n\n\
|
||||
縮寫:\n\
|
||||
您也可以在命令中指定多個用戶。\n\n\
|
||||
縮寫: \n\
|
||||
CI - 容器繼承。\n\
|
||||
ACE會由目錄繼承。\n\
|
||||
OI - 對象繼承。\n\
|
||||
ACE 會由文件繼承。\n\
|
||||
IO - 只繼承。\n\
|
||||
ACE 不適用於目前文件/目錄。\n"
|
||||
ACE 不適用於當前文件/目錄。\n"
|
||||
IDS_ABBR_CI "(CI)"
|
||||
IDS_ABBR_OI "(OI)"
|
||||
IDS_ABBR_IO "(IO)"
|
||||
@@ -50,7 +50,7 @@ CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
|
||||
IDS_ABBR_NONE "N"
|
||||
IDS_ALLOW ""
|
||||
IDS_DENY "(DENY)"
|
||||
IDS_SPECIAL_ACCESS "(特殊存取:)"
|
||||
IDS_SPECIAL_ACCESS "(special access:)"
|
||||
IDS_GENERIC_READ "GENERIC_READ"
|
||||
IDS_GENERIC_WRITE "GENERIC_WRITE"
|
||||
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
|
||||
|
@@ -2,14 +2,11 @@
|
||||
#define _CACLS_PRECOMP_H
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#include <winuser.h> // For CharPrev
|
||||
#include <winuser.h>
|
||||
#include <sddl.h>
|
||||
|
||||
#include <conutils.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
|
@@ -1,19 +1,19 @@
|
||||
|
||||
add_definitions(-DDISABLE_HTMLHELP_SUPPORT=1)
|
||||
|
||||
list(APPEND SOURCE
|
||||
convert.c
|
||||
fun_ieee.c
|
||||
rpn_ieee.c
|
||||
utl_ieee.c
|
||||
function.c
|
||||
rpn.c
|
||||
utl.c
|
||||
winmain.c
|
||||
htmlhelp.c
|
||||
theme.c
|
||||
calc.h)
|
||||
|
||||
file(GLOB calc_rc_deps res/*.*)
|
||||
add_rc_deps(resource.rc ${calc_rc_deps})
|
||||
add_executable(calc ${SOURCE} resource.rc)
|
||||
set_module_type(calc win32gui UNICODE)
|
||||
add_importlibs(calc advapi32 comctl32 user32 shell32 gdi32 msvcrt kernel32)
|
||||
add_importlibs(calc advapi32 user32 shell32 gdi32 msvcrt kernel32)
|
||||
|
||||
if(MSVC)
|
||||
add_importlibs(calc ntdll)
|
||||
|
@@ -1,24 +1,16 @@
|
||||
#ifndef __CALC_H__
|
||||
#define __CALC_H__
|
||||
#ifndef _CALC_H
|
||||
#define _CALC_H
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <stdarg.h>
|
||||
#include <windef.h>
|
||||
#include <winuser.h>
|
||||
#include <tchar.h>
|
||||
#include <commctrl.h>
|
||||
#include <shellapi.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#include <float.h>
|
||||
#include <malloc.h>
|
||||
#ifndef DISABLE_HTMLHELP_SUPPORT
|
||||
#include <htmlhelp.h>
|
||||
#endif
|
||||
#include <limits.h>
|
||||
|
||||
/* RESOURCES */
|
||||
#include "resource.h"
|
||||
|
||||
/* Messages reserved for the main dialog */
|
||||
#define WM_CLOSE_STATS (WM_APP+1)
|
||||
@@ -29,9 +21,8 @@
|
||||
#define WM_HANDLE_FROM (WM_APP+6)
|
||||
#define WM_HANDLE_TO (WM_APP+7)
|
||||
|
||||
/* GNU MULTI-PRECISION LIBRARY support */
|
||||
#ifdef ENABLE_MULTI_PRECISION
|
||||
#include "mpfr.h"
|
||||
#include <mpfr.h>
|
||||
|
||||
#ifndef MPFR_DEFAULT_RND
|
||||
#define MPFR_DEFAULT_RND mpfr_get_default_rounding_mode ()
|
||||
@@ -44,54 +35,14 @@
|
||||
|
||||
#endif
|
||||
|
||||
#define CALC_VERSION _T("1.12")
|
||||
#include "resource.h"
|
||||
|
||||
#ifndef IDC_STATIC
|
||||
#define IDC_STATIC ((DWORD)-1)
|
||||
#endif
|
||||
|
||||
#define MAX_CALC_SIZE 256
|
||||
|
||||
/* HTMLHELP SUPPORT */
|
||||
typedef HWND (WINAPI* type_HtmlHelpA)(HWND, LPCSTR, UINT, DWORD);
|
||||
typedef HWND (WINAPI* type_HtmlHelpW)(HWND, LPCWSTR, UINT, DWORD);
|
||||
|
||||
extern type_HtmlHelpA calc_HtmlHelpA;
|
||||
extern type_HtmlHelpW calc_HtmlHelpW;
|
||||
|
||||
#ifndef UNICODE
|
||||
#define calc_HtmlHelp calc_HtmlHelpA
|
||||
#else
|
||||
#define calc_HtmlHelp calc_HtmlHelpW
|
||||
#endif
|
||||
|
||||
void HtmlHelp_Start(HINSTANCE hInstance);
|
||||
void HtmlHelp_Stop(void);
|
||||
|
||||
/* THEMING SUPPORT */
|
||||
#if (_WIN32_WINNT >= 0x0600)
|
||||
#include <vssym32.h>
|
||||
#include <vsstyle.h>
|
||||
#else
|
||||
#include <tmschema.h>
|
||||
#endif
|
||||
#include <uxtheme.h>
|
||||
|
||||
void Theme_Start(HINSTANCE hInstance);
|
||||
void Theme_Stop(void);
|
||||
|
||||
typedef HTHEME (WINAPI* type_OpenThemeData)(HWND,const WCHAR*);
|
||||
typedef HRESULT (WINAPI* type_CloseThemeData)(HTHEME);
|
||||
typedef HRESULT (WINAPI* type_DrawThemeBackground)(HTHEME,HDC,int,int,const RECT*,const RECT*);
|
||||
typedef BOOL (WINAPI* type_IsAppThemed)(void);
|
||||
typedef BOOL (WINAPI* type_IsThemeActive)(void);
|
||||
typedef BOOL (WINAPI* type_IsThemeBackgroundPartiallyTransparent)(HTHEME, int, int);
|
||||
typedef HRESULT (WINAPI* type_DrawThemeParentBackground)(HWND, HDC, RECT *);
|
||||
|
||||
extern type_OpenThemeData calc_OpenThemeData;
|
||||
extern type_CloseThemeData calc_CloseThemeData;
|
||||
extern type_DrawThemeBackground calc_DrawThemeBackground;
|
||||
extern type_IsAppThemed calc_IsAppThemed;
|
||||
extern type_IsThemeActive calc_IsThemeActive;
|
||||
extern type_IsThemeBackgroundPartiallyTransparent calc_IsThemeBackgroundPartiallyTransparent;
|
||||
extern type_DrawThemeParentBackground calc_DrawThemeParentBackground;
|
||||
|
||||
/*#define USE_KEYBOARD_HOOK*/
|
||||
|
||||
#define SIZEOF(_ar) (sizeof(_ar)/sizeof(_ar[1]))
|
||||
@@ -169,8 +120,6 @@ typedef struct {
|
||||
HHOOK hKeyboardHook;
|
||||
#endif
|
||||
HWND hWnd;
|
||||
HICON hBgIcon;
|
||||
HICON hSmIcon;
|
||||
DWORD layout;
|
||||
TCHAR buffer[MAX_CALC_SIZE];
|
||||
TCHAR source[MAX_CALC_SIZE];
|
||||
@@ -206,11 +155,11 @@ typedef struct {
|
||||
|
||||
extern calc_t calc;
|
||||
|
||||
/* IEEE constants */
|
||||
#define CALC_E 2.718281828459045235360
|
||||
#define CALC_PI_2 1.570796326794896619231
|
||||
#define CALC_PI 3.141592653589793238462
|
||||
#define CALC_3_PI_2 4.712388980384689857694
|
||||
#define CALC_E 2.7182818284590452354
|
||||
|
||||
#define CALC_PI_2 1.57079632679489661923
|
||||
#define CALC_PI 3.14159265358979323846
|
||||
#define CALC_3_PI_2 4.71238898038468985769
|
||||
#define CALC_2_PI 6.283185307179586476925
|
||||
|
||||
#define MODIFIER_INV 0x01
|
||||
@@ -218,9 +167,14 @@ extern calc_t calc;
|
||||
#define NO_CHAIN 0x04
|
||||
|
||||
void apply_int_mask(calc_number_t *a);
|
||||
#ifndef ENABLE_MULTI_PRECISION
|
||||
#ifdef ENABLE_MULTI_PRECISION
|
||||
void validate_rad2angle(calc_number_t *c);
|
||||
void validate_angle2rad(calc_number_t *c);
|
||||
#else
|
||||
__int64 logic_dbl2int(calc_number_t *a);
|
||||
double logic_int2dbl(calc_number_t *a);
|
||||
double validate_rad2angle(double a);
|
||||
double validate_angle2rad(calc_number_t *c);
|
||||
#endif
|
||||
void rpn_sin(calc_number_t *c);
|
||||
void rpn_cos(calc_number_t *c);
|
||||
@@ -252,9 +206,7 @@ void rpn_exp10(calc_number_t *c);
|
||||
void rpn_ln(calc_number_t *c);
|
||||
void rpn_log(calc_number_t *c);
|
||||
void rpn_ave(calc_number_t *c);
|
||||
void rpn_ave2(calc_number_t *c);
|
||||
void rpn_sum(calc_number_t *c);
|
||||
void rpn_sum2(calc_number_t *c);
|
||||
void rpn_s(calc_number_t *c);
|
||||
void rpn_s_m1(calc_number_t *c);
|
||||
void rpn_dms2dec(calc_number_t *c);
|
||||
@@ -265,20 +217,14 @@ int rpn_is_zero(calc_number_t *c);
|
||||
void rpn_alloc(calc_number_t *c);
|
||||
void rpn_free(calc_number_t *c);
|
||||
|
||||
//
|
||||
|
||||
void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base);
|
||||
void convert_text2number_2(calc_number_t *a);
|
||||
void convert_real_integer(unsigned int base);
|
||||
|
||||
//
|
||||
|
||||
INT_PTR CALLBACK AboutDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
|
||||
|
||||
//
|
||||
|
||||
void ConvExecute(HWND hWnd);
|
||||
void ConvAdjust(HWND hWnd, int n_cat);
|
||||
void ConvInit(HWND hWnd);
|
||||
|
||||
#endif /* __CALC_H__ */
|
||||
#endif /* _CALC_H */
|
||||
|
@@ -1,23 +1,3 @@
|
||||
/*
|
||||
* ReactOS Calc (Unit conversion engine)
|
||||
*
|
||||
* Copyright 2007-2017, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
/*
|
||||
@@ -64,17 +44,13 @@ typedef struct {
|
||||
{ 0, NULL, NULL },
|
||||
|
||||
/*
|
||||
1 arcminute ....... = 1/60 deg
|
||||
1 arcsecond ....... = 1/3600 deg
|
||||
1 gradian ......... = 0.9 deg
|
||||
1 radian .......... = 57.29577951308233 deg
|
||||
1 gradian = 0.9 deg
|
||||
1 radian = 57.29577951308233 deg
|
||||
*/
|
||||
static const conv_t conv_ANGLE[] = {
|
||||
DECLARE_CONV_UNIT(ANGLE, ARCMINUTES, "$/60", "$*60")
|
||||
DECLARE_CONV_UNIT(ANGLE, ARCSECONDS, "$/3600", "$*3600")
|
||||
DECLARE_CONV_UNIT(ANGLE, DEGREES, "$", "$")
|
||||
DECLARE_CONV_UNIT(ANGLE, GRADIANS, "$*0.9", "$/0.9")
|
||||
DECLARE_CONV_UNIT(ANGLE, RADIANS, "$/P*180", "$*P/180")
|
||||
DECLARE_CONV_UNIT(ANGLE, DEGREES, "$", "$")
|
||||
DECLARE_CONV_UNIT(ANGLE, GRADIANS, "$*0.9", "$/0.9")
|
||||
DECLARE_CONV_UNIT(ANGLE, RADIANS, "$/P*180", "$*P/180")
|
||||
DECLARE_CONV_END
|
||||
};
|
||||
|
||||
@@ -86,13 +62,13 @@ static const conv_t conv_ANGLE[] = {
|
||||
1 acre us ............. = 4840*(36/39.37)^2 m = 6272640/1549.9969 m
|
||||
1 are ................. = 100 mq
|
||||
1 chou ................ = 108000*(10/33)^2 mq
|
||||
1 danbo ............... = 991.74 mq
|
||||
1 danbo ............... =
|
||||
1 ha .................. = 10000 mq
|
||||
1 jeongbo ............. = 9917.4 mq
|
||||
1 morgen hungary ...... = 5754.642 mq
|
||||
1 jeongbo ............. =
|
||||
1 morgen hungary ...... =
|
||||
1 mu .................. = 2000/3 mq
|
||||
1 ping ................ =
|
||||
1 pyeong .............. = 400/121 mq
|
||||
1 pyeong .............. =
|
||||
1 pyeongbangja ........ =
|
||||
1 rai ................. = 1600 mq
|
||||
1 se .................. = 1080*(10/33)^2 mq
|
||||
@@ -108,7 +84,7 @@ static const conv_t conv_ANGLE[] = {
|
||||
1 square mm ........... = 0,000001 mq
|
||||
1 square shaku ........ = (10/33)^2 mq
|
||||
1 square tsuen ........ =
|
||||
1 square va ........... = 4 mq
|
||||
1 square va ........... =
|
||||
1 square yard ......... = 0,83612736 mq
|
||||
1 tan ................. = 10800*(10/33)^2 mq
|
||||
1 tsubo ............... = 36*(10/33)^2 mq
|
||||
@@ -121,15 +97,15 @@ static const conv_t conv_AREA[] = {
|
||||
DECLARE_CONV_UNIT(AREA, ACRES_SCOTS, "$*5000", "$/5000")
|
||||
DECLARE_CONV_UNIT(AREA, ARES, "$*100", "$/100")
|
||||
DECLARE_CONV_UNIT(AREA, CHOU, "$*10800000/1089", "$*1089/10800000")
|
||||
DECLARE_CONV_UNIT(AREA, DANBO, "$*991.74", "$/991.74")
|
||||
// DECLARE_CONV_UNIT(AREA, DANBO, "$", "$")
|
||||
DECLARE_CONV_UNIT(AREA, HECTARES, "$*10000", "$/10000")
|
||||
DECLARE_CONV_UNIT(AREA, JEONGBO, "$*9917.4", "$/9917.4")
|
||||
// DECLARE_CONV_UNIT(AREA, JEONGBO, "$", "$")
|
||||
// DECLARE_CONV_UNIT(AREA, MORGEN_HUNGARY, "$", "$")
|
||||
DECLARE_CONV_UNIT(AREA, MU, "$*(2000/3)", "$/(2000/3)")
|
||||
DECLARE_CONV_UNIT(AREA, MU, "$*(2000/3)", "$/(2000/3)")
|
||||
// DECLARE_CONV_UNIT(AREA, PING, "$", "$")
|
||||
DECLARE_CONV_UNIT(AREA, PYEONG, "$*400/121", "$*121/400")
|
||||
// DECLARE_CONV_UNIT(AREA, PYEONG, "$", "$")
|
||||
// DECLARE_CONV_UNIT(AREA, PYEONGBANGJA, "$", "$")
|
||||
DECLARE_CONV_UNIT(AREA, RAI, "$*1600", "$/1600")
|
||||
DECLARE_CONV_UNIT(AREA, RAI, "$*1600", "$/1600")
|
||||
DECLARE_CONV_UNIT(AREA, SE, "$*108000/1089", "$*1089/108000")
|
||||
DECLARE_CONV_UNIT(AREA, SQUARE_CENTIMETERS, "$*0,0001", "$/0,0001")
|
||||
// DECLARE_CONV_UNIT(AREA, SQUARE_CHR, "$", "$")
|
||||
@@ -144,7 +120,7 @@ static const conv_t conv_AREA[] = {
|
||||
DECLARE_CONV_UNIT(AREA, SQUARE_MILLIMETERS, "$*1000000", "$/1000000")
|
||||
DECLARE_CONV_UNIT(AREA, SQUARE_SHAKU, "$*100/1089", "$/1089*100")
|
||||
// DECLARE_CONV_UNIT(AREA, SQUARE_TSUEN, "$", "$")
|
||||
DECLARE_CONV_UNIT(AREA, SQUARE_VA, "$*4", "$/4")
|
||||
// DECLARE_CONV_UNIT(AREA, SQUARE_VA, "$", "$")
|
||||
DECLARE_CONV_UNIT(AREA, SQUARE_YARD, "$*0,83612736", "$/0,83612736")
|
||||
DECLARE_CONV_UNIT(AREA, TAN, "$*1080000/1089", "$*1089/1080000")
|
||||
DECLARE_CONV_UNIT(AREA, TSUBO, "$*1188/1089", "$*1089/1188")
|
||||
@@ -168,17 +144,15 @@ static const conv_t conv_CURRENCY[] = {
|
||||
DECLARE_CONV_UNIT(CURRENCY, AUSTRIAN_SCHILLING, "$/13,7603", "$*13,7603")
|
||||
DECLARE_CONV_UNIT(CURRENCY, BELGIAN_FRANC, "$/40,3399", "$*40,3399")
|
||||
DECLARE_CONV_UNIT(CURRENCY, CYPRIOT_POUND, "$/0,585274","$*0,585274")
|
||||
DECLARE_CONV_UNIT(CURRENCY, DEUTSCHE_MARK, "$/1,95583", "$*1,95583")
|
||||
DECLARE_CONV_UNIT(CURRENCY, CZECH_KORUNA, "$/27,9766", "$*27,9766")
|
||||
DECLARE_CONV_UNIT(CURRENCY, DEUTSCHE_MARK, "$/1,9558", "$*1,9558")
|
||||
DECLARE_CONV_UNIT(CURRENCY, DUTCH_GUILDER, "$/2,20371", "$*2,20371")
|
||||
DECLARE_CONV_UNIT(CURRENCY, ESTONIAN_KROON, "$/15,6466", "$*15,6466")
|
||||
DECLARE_CONV_UNIT(CURRENCY, EURO, "$", "$")
|
||||
DECLARE_CONV_UNIT(CURRENCY, FINNISH_MARKKA, "$/5,94573", "$*5,94573")
|
||||
DECLARE_CONV_UNIT(CURRENCY, FRENCH_FRANC, "$/6,55957", "$*6,55957")
|
||||
DECLARE_CONV_UNIT(CURRENCY, GREEK_DRACHMA, "$/340,751", "$*340,751")
|
||||
DECLARE_CONV_UNIT(CURRENCY, IRISH_POUND, "$/0,787564","$*0,787564")
|
||||
DECLARE_CONV_UNIT(CURRENCY, FINNISH_MARKKA, "$/5,9457", "$*5,9457")
|
||||
DECLARE_CONV_UNIT(CURRENCY, FRENCH_FRANC, "$/6,5596", "$*6,5596")
|
||||
DECLARE_CONV_UNIT(CURRENCY, GREEK_DRACHMA, "$/340,75", "$*340,75")
|
||||
DECLARE_CONV_UNIT(CURRENCY, IRISH_POUND, "$/0,7876", "$*0,7876")
|
||||
DECLARE_CONV_UNIT(CURRENCY, ITALIAN_LIRA, "$/1936.27", "$*1936.27")
|
||||
DECLARE_CONV_UNIT(CURRENCY, LATVIAN_LATS, "$/0,7028", "$*0,7028")
|
||||
DECLARE_CONV_UNIT(CURRENCY, LITHUANIAN_LITAS, "$/3,45280", "$*3,45280")
|
||||
DECLARE_CONV_UNIT(CURRENCY, LUXEMBOURG_FRANC, "$/40,3399", "$*40,3399")
|
||||
DECLARE_CONV_UNIT(CURRENCY, MALTESE_LIRA, "$/0.42930", "$*0.42930")
|
||||
DECLARE_CONV_UNIT(CURRENCY, PORTOGUESE_ESCUDO, "$/200,482", "$*200,482")
|
||||
@@ -192,7 +166,7 @@ static const conv_t conv_CURRENCY[] = {
|
||||
1 cal15 .... = 4.1855 J
|
||||
1 BTU ...... = 1055.056 J
|
||||
1 ERG ...... = 0.0000001 J
|
||||
1 eV ....... = 0.000000000000000000160217653 J
|
||||
1 EV ....... = 0.000000000000000000160217653 J
|
||||
1 Foot-Pound = 1.3558179483314004 J
|
||||
1 IT calorie = 4.1868 J
|
||||
1 KCa ...... = 4186.8 J
|
||||
@@ -205,7 +179,7 @@ static const conv_t conv_ENERGY[] = {
|
||||
DECLARE_CONV_UNIT(ENERGY, 15_C_CALORIES, "$*4.1855", "$/4.1855")
|
||||
DECLARE_CONV_UNIT(ENERGY, BTUS, "$*1055.056", "$/1055.056")
|
||||
DECLARE_CONV_UNIT(ENERGY, ERGS, "$*.0000001", "$/.0000001")
|
||||
DECLARE_CONV_UNIT(ENERGY, EVS, "$*1.60217653/1X19", "$/1.60217653*1X19")
|
||||
DECLARE_CONV_UNIT(ENERGY, EVS, "$*.000000000000000000160217653", "$/.000000000000000000160217653")
|
||||
DECLARE_CONV_UNIT(ENERGY, FOOT_POUNDS, "$*1.3558179483314004", "$/1.3558179483314004")
|
||||
DECLARE_CONV_UNIT(ENERGY, IT_CALORIES, "$*4.1868", "$/4.1868")
|
||||
DECLARE_CONV_UNIT(ENERGY, IT_KILOCALORIES, "$*4186.8", "$/4186.8")
|
||||
@@ -233,13 +207,13 @@ static const conv_t conv_ENERGY[] = {
|
||||
1 furlong ........ = 10 chains = 220*0.9144 m
|
||||
1 gan ............ =
|
||||
1 hand ........... = 4 inches = 0.9144/9 m
|
||||
1 hunh ........... = 1/8 nieu = 9.144/3456 m
|
||||
1 hunh ........... =
|
||||
1 inch ........... = yard/36 = 0.9144/36 m
|
||||
1 ja ............. =
|
||||
1 jeong .......... =
|
||||
1 kabiet ......... = 1/4 nieu = 9.144/1728 m
|
||||
1 kabiet ......... =
|
||||
1 ken ............ = 60/33 m
|
||||
1 keub ........... = 12 nieu = 10 inch = 9.144/36 m
|
||||
1 keub ........... =
|
||||
1 km ............. = 1000 m
|
||||
1 lar ............ =
|
||||
1 light year ..... = 9460730472580800 m
|
||||
@@ -248,25 +222,25 @@ static const conv_t conv_ENERGY[] = {
|
||||
1 mile ........... = 1760 yards = 1609.344 m
|
||||
1 millimeter ..... = 1/1000 m
|
||||
1 nautical mile .. = 1852 m
|
||||
1 nieu ........... = 10/12 inch = 9.144/432 m
|
||||
1 nieu ........... =
|
||||
1 parsec ......... = 30856800000000000 m
|
||||
1 pica ........... = yard/216 = 0.9144/216 m
|
||||
1 ri japan ....... = 129600/33 m
|
||||
1 ri korea ....... = 12960/33 m
|
||||
1 ri japan ....... =
|
||||
1 ri korea ....... =
|
||||
1 rod ............ = 5.0292 m
|
||||
1 sawk ........... = 2 keub = 20 inch = 9.144/18 m
|
||||
1 sen ............ = 20 va = 40.64 m
|
||||
1 sawk ........... =
|
||||
1 sen ............ =
|
||||
1 shaku .......... = 10/33 m
|
||||
1 span ........... = 9 inches = 0.9144/4 m
|
||||
1 sun ............ = 1/33 m
|
||||
1 tsuen .......... =
|
||||
1 va ............. = 4 sawk = 80 inch = 2.032 m
|
||||
1 va ............. =
|
||||
1 yard ........... = 0.9144 m
|
||||
1 yote ........... = 400 sen = 16256 m
|
||||
1 zhang .......... = 3+1/3 m = 10/3 m
|
||||
1 yote ........... =
|
||||
1 zhang .......... =
|
||||
*/
|
||||
static const conv_t conv_LENGTH[] = {
|
||||
DECLARE_CONV_UNIT(LENGTH, ANGSTROMS, "$/1X10", "$*1X10")
|
||||
DECLARE_CONV_UNIT(LENGTH, ANGSTROMS, "$*0.0000000001", "$/0.0000000001")
|
||||
DECLARE_CONV_UNIT(LENGTH, ASTRONOMICAL_UNITS, "$*149598000000", "$/149598000000")
|
||||
DECLARE_CONV_UNIT(LENGTH, BARLEYCORNS, "$*0.9144/108", "$/0.9144*108")
|
||||
DECLARE_CONV_UNIT(LENGTH, CENTIMETERS, "$/100", "$*100")
|
||||
@@ -281,13 +255,13 @@ static const conv_t conv_LENGTH[] = {
|
||||
DECLARE_CONV_UNIT(LENGTH, FURLONGS, "$*201.168", "$/201.168")
|
||||
// DECLARE_CONV_UNIT(LENGTH, GAN, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, HANDS, "$*0,1016", "$/0,1016")
|
||||
DECLARE_CONV_UNIT(LENGTH, HUNH, "$*9.144/3456", "$/9.144*3456")
|
||||
// DECLARE_CONV_UNIT(LENGTH, HUNH, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, INCHES, "$*0.0254", "$/0.0254")
|
||||
// DECLARE_CONV_UNIT(LENGTH, JA, "$", "$")
|
||||
// DECLARE_CONV_UNIT(LENGTH, JEONG, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, KABIET, "$*9.144/1728", "$/9.144*1728")
|
||||
// DECLARE_CONV_UNIT(LENGTH, KABIET, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, KEN, "$*60/33", "$*33/60")
|
||||
DECLARE_CONV_UNIT(LENGTH, KEUB, "$*9.144/36", "$/9.144*36")
|
||||
// DECLARE_CONV_UNIT(LENGTH, KEUB, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, KILOMETERS, "$*1000", "$/1000")
|
||||
// DECLARE_CONV_UNIT(LENGTH, LAR, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, LIGHT_YEARS, "$*9460730472580800", "$/9460730472580800")
|
||||
@@ -297,22 +271,22 @@ static const conv_t conv_LENGTH[] = {
|
||||
DECLARE_CONV_UNIT(LENGTH, MILES, "$*1609.344", "$/1609.344")
|
||||
DECLARE_CONV_UNIT(LENGTH, MILLIMETERS, "$/1000", "$*1000")
|
||||
DECLARE_CONV_UNIT(LENGTH, NAUTICAL_MILES, "$*1852", "$/1852")
|
||||
DECLARE_CONV_UNIT(LENGTH, NIEU, "$*9.144/432", "$/9.144*432")
|
||||
DECLARE_CONV_UNIT(LENGTH, PARSECS, "$*3.085678X16", "$/3.085678X16")
|
||||
// DECLARE_CONV_UNIT(LENGTH, NIEU, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, PARSECS, "$*30856800000000000", "$/30856800000000000")
|
||||
DECLARE_CONV_UNIT(LENGTH, PICAS, "$*0.9144/216", "$/0.9144*216")
|
||||
DECLARE_CONV_UNIT(LENGTH, RODS, "$*5.0292", "$/5.0292")
|
||||
DECLARE_CONV_UNIT(LENGTH, RI_JAPAN, "$*129600/33", "$*33/129600")
|
||||
DECLARE_CONV_UNIT(LENGTH, RI_KOREA, "$*12960/33", "$*33/12960")
|
||||
DECLARE_CONV_UNIT(LENGTH, SAWK, "$*9.144/18", "$/9.144*18")
|
||||
DECLARE_CONV_UNIT(LENGTH, SEN, "$*40.64", "$/40.64")
|
||||
// DECLARE_CONV_UNIT(LENGTH, RI_JAPAN, "$", "$")
|
||||
// DECLARE_CONV_UNIT(LENGTH, RI_KOREA, "$", "$")
|
||||
// DECLARE_CONV_UNIT(LENGTH, SAWK, "$", "$")
|
||||
// DECLARE_CONV_UNIT(LENGTH, SEN, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, SHAKU, "$*10/33", "$*33/10")
|
||||
DECLARE_CONV_UNIT(LENGTH, SPAN, "$*0.9144/4", "$*4/0.9144")
|
||||
DECLARE_CONV_UNIT(LENGTH, SUN, "$*1/33", "$*33")
|
||||
// DECLARE_CONV_UNIT(LENGTH, TSUEN, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, VA, "$*2.032", "$/2.032")
|
||||
// DECLARE_CONV_UNIT(LENGTH, VA, "$", "$")
|
||||
DECLARE_CONV_UNIT(LENGTH, YARDS, "$*0.9144", "$/0.9144")
|
||||
DECLARE_CONV_UNIT(LENGTH, YOTE, "$*16256", "$/16256")
|
||||
DECLARE_CONV_UNIT(LENGTH, ZHANG, "$/0.3", "$*0.3")
|
||||
// DECLARE_CONV_UNIT(LENGTH, YOTE, "$", "$")
|
||||
// DECLARE_CONV_UNIT(LENGTH, ZHANG, "$", "$")
|
||||
DECLARE_CONV_END
|
||||
};
|
||||
|
||||
@@ -411,7 +385,7 @@ static const conv_t conv_VELOCITY[] = {
|
||||
/*
|
||||
1 barrel uk ...... = 163.65924 l
|
||||
1 barrel oil ..... = 158.987295 l
|
||||
1 bun ............ = 1000 l
|
||||
1 bun ............ =
|
||||
1 bushel uk ...... = 36.36872 l
|
||||
1 bushel us ...... = 35.23907017 l
|
||||
1 cubic cm ...... = 0.001 l
|
||||
@@ -428,7 +402,7 @@ static const conv_t conv_VELOCITY[] = {
|
||||
1 gou ............ = 0.1809 l
|
||||
1 hop ............ =
|
||||
1 icce ........... =
|
||||
1 kwian .......... = 2000 l
|
||||
1 kwian .......... =
|
||||
1 mal ............ =
|
||||
1 milliliter ..... = 0.001 l
|
||||
1 pint uk ........ = 0.56826125 l
|
||||
@@ -439,14 +413,14 @@ static const conv_t conv_VELOCITY[] = {
|
||||
1 quart liquid us = 0.946352946 l
|
||||
1 seki ........... =
|
||||
1 syou ........... =
|
||||
1 tananloung ..... = 1 l
|
||||
1 tang ........... = 20 l
|
||||
1 tananloung ..... =
|
||||
1 tang ........... =
|
||||
1 to ............. = 18040 l
|
||||
*/
|
||||
static const conv_t conv_VOLUME[] = {
|
||||
DECLARE_CONV_UNIT(VOLUME, BARRELS_UK, "$*163.65924", "$/163.65924")
|
||||
DECLARE_CONV_UNIT(VOLUME, BARRELS_OIL, "$*158.987295", "$/158.987295")
|
||||
DECLARE_CONV_UNIT(VOLUME, BUN, "$*1000", "$/1000")
|
||||
// DECLARE_CONV_UNIT(VOLUME, BUN, "$", "$")
|
||||
DECLARE_CONV_UNIT(VOLUME, BUSHELS_UK, "$*36.36872", "$/36.36872")
|
||||
DECLARE_CONV_UNIT(VOLUME, BUSHELS_US, "$*35.23907017", "$/35.23907017")
|
||||
DECLARE_CONV_UNIT(VOLUME, CUBIC_CENTIMETERS, "$*0.001", "$/0.001")
|
||||
@@ -463,7 +437,7 @@ static const conv_t conv_VOLUME[] = {
|
||||
DECLARE_CONV_UNIT(VOLUME, GOU, "$*0.1809", "$/0.1809")
|
||||
// DECLARE_CONV_UNIT(VOLUME, HOP, "$", "$")
|
||||
// DECLARE_CONV_UNIT(VOLUME, ICCE, "$", "$")
|
||||
DECLARE_CONV_UNIT(VOLUME, KWIAN, "$*2000", "$/2000")
|
||||
// DECLARE_CONV_UNIT(VOLUME, KWIAN, "$", "$")
|
||||
DECLARE_CONV_UNIT(VOLUME, LITERS, "$", "$")
|
||||
// DECLARE_CONV_UNIT(VOLUME, MAL, "$", "$")
|
||||
DECLARE_CONV_UNIT(VOLUME, MILLILITERS, "$*0.001", "$/0.001")
|
||||
@@ -475,8 +449,8 @@ static const conv_t conv_VOLUME[] = {
|
||||
DECLARE_CONV_UNIT(VOLUME, QUARTS_LIQUID_US, "$*0.946352946", "$/0.946352946")
|
||||
// DECLARE_CONV_UNIT(VOLUME, SEKI, "$", "$")
|
||||
// DECLARE_CONV_UNIT(VOLUME, SYOU, "$", "$")
|
||||
DECLARE_CONV_UNIT(VOLUME, TANANLOUNG, "$", "$")
|
||||
DECLARE_CONV_UNIT(VOLUME, TANG, "$*20", "$/20")
|
||||
// DECLARE_CONV_UNIT(VOLUME, TANANLOUNG, "$", "$")
|
||||
// DECLARE_CONV_UNIT(VOLUME, TANG, "$", "$")
|
||||
DECLARE_CONV_UNIT(VOLUME, TO, "$*18040", "$/18040")
|
||||
DECLARE_CONV_END
|
||||
};
|
||||
@@ -508,17 +482,6 @@ static const conv_t conv_VOLUME[] = {
|
||||
1 ton uk .......... = 1016046.9088 g // long ton
|
||||
1 ton us .......... = 907184.74 g // short ton
|
||||
*/
|
||||
/*
|
||||
1 chang = 20 tamlung
|
||||
1 tamlung = 4 baht
|
||||
1 baht = 4 saloung
|
||||
1 saloung =
|
||||
|
||||
1 chang = 6/5 kg = 1200 g
|
||||
1 tamlung = 1/20 chang = 60 g
|
||||
1 baht = 1/4 tamlung = 15 g
|
||||
1 saloung = 1/4 bath = 15/4 g
|
||||
*/
|
||||
static const conv_t conv_WEIGHT[] = {
|
||||
DECLARE_CONV_UNIT(WEIGHT, BAHT, "$*12.244", "$/12.244")
|
||||
DECLARE_CONV_UNIT(WEIGHT, CARATS, "$*0.2", "$/0.2")
|
||||
|
@@ -1,607 +0,0 @@
|
||||
/*
|
||||
* ReactOS Calc (Math functions, IEEE-754 engine)
|
||||
*
|
||||
* Copyright 2007-2017, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
static double validate_rad2angle(double a);
|
||||
static double validate_angle2rad(calc_number_t *c);
|
||||
|
||||
void apply_int_mask(calc_number_t *r)
|
||||
{
|
||||
unsigned __int64 mask;
|
||||
|
||||
switch (calc.size) {
|
||||
case IDC_RADIO_QWORD:
|
||||
mask = _UI64_MAX;
|
||||
break;
|
||||
case IDC_RADIO_DWORD:
|
||||
mask = ULONG_MAX;
|
||||
break;
|
||||
case IDC_RADIO_WORD:
|
||||
mask = USHRT_MAX;
|
||||
break;
|
||||
case IDC_RADIO_BYTE:
|
||||
mask = UCHAR_MAX;
|
||||
break;
|
||||
default:
|
||||
mask = (unsigned __int64)-1;
|
||||
}
|
||||
r->i &= mask;
|
||||
}
|
||||
|
||||
double asinh(double x)
|
||||
{
|
||||
return log(x+sqrt(x*x+1));
|
||||
}
|
||||
|
||||
double acosh(double x)
|
||||
{
|
||||
// must be x>=1, if not return Nan (Not a Number)
|
||||
if(!(x>=1.0)) return sqrt(-1.0);
|
||||
|
||||
// return only the positive result (as sqrt does).
|
||||
return log(x+sqrt(x*x-1.0));
|
||||
}
|
||||
|
||||
double atanh(double x)
|
||||
{
|
||||
// must be x>-1, x<1, if not return Nan (Not a Number)
|
||||
if(!(x>-1.0 && x<1.0)) return sqrt(-1.0);
|
||||
|
||||
return log((1.0+x)/(1.0-x))/2.0;
|
||||
}
|
||||
|
||||
static double validate_rad2angle(double a)
|
||||
{
|
||||
switch (calc.degr) {
|
||||
case IDC_RADIO_DEG:
|
||||
a = a * (180.0/CALC_PI);
|
||||
break;
|
||||
case IDC_RADIO_RAD:
|
||||
break;
|
||||
case IDC_RADIO_GRAD:
|
||||
a = a * (200.0/CALC_PI);
|
||||
break;
|
||||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
static double validate_angle2rad(calc_number_t *c)
|
||||
{
|
||||
switch (calc.degr) {
|
||||
case IDC_RADIO_DEG:
|
||||
c->f = c->f * (CALC_PI/180.0);
|
||||
break;
|
||||
case IDC_RADIO_RAD:
|
||||
break;
|
||||
case IDC_RADIO_GRAD:
|
||||
c->f = c->f * (CALC_PI/200.0);
|
||||
break;
|
||||
}
|
||||
return c->f;
|
||||
}
|
||||
|
||||
void rpn_sin(calc_number_t *c)
|
||||
{
|
||||
double angle = validate_angle2rad(c);
|
||||
|
||||
if (angle == 0 || angle == CALC_PI)
|
||||
c->f = 0;
|
||||
else
|
||||
if (angle == CALC_3_PI_2)
|
||||
c->f = -1;
|
||||
else
|
||||
if (angle == CALC_2_PI)
|
||||
c->f = 1;
|
||||
else
|
||||
c->f = sin(angle);
|
||||
}
|
||||
void rpn_cos(calc_number_t *c)
|
||||
{
|
||||
double angle = validate_angle2rad(c);
|
||||
|
||||
if (angle == CALC_PI_2 || angle == CALC_3_PI_2)
|
||||
c->f = 0;
|
||||
else
|
||||
if (angle == CALC_PI)
|
||||
c->f = -1;
|
||||
else
|
||||
if (angle == CALC_2_PI)
|
||||
c->f = 1;
|
||||
else
|
||||
c->f = cos(angle);
|
||||
}
|
||||
void rpn_tan(calc_number_t *c)
|
||||
{
|
||||
double angle = validate_angle2rad(c);
|
||||
|
||||
if (angle == CALC_PI_2 || angle == CALC_3_PI_2)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
if (angle == CALC_PI || angle == CALC_2_PI)
|
||||
c->f = 0;
|
||||
else
|
||||
c->f = tan(angle);
|
||||
}
|
||||
|
||||
void rpn_asin(calc_number_t *c)
|
||||
{
|
||||
c->f = validate_rad2angle(asin(c->f));
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_acos(calc_number_t *c)
|
||||
{
|
||||
c->f = validate_rad2angle(acos(c->f));
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_atan(calc_number_t *c)
|
||||
{
|
||||
c->f = validate_rad2angle(atan(c->f));
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
void rpn_sinh(calc_number_t *c)
|
||||
{
|
||||
c->f = sinh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_cosh(calc_number_t *c)
|
||||
{
|
||||
c->f = cosh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_tanh(calc_number_t *c)
|
||||
{
|
||||
c->f = tanh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
void rpn_asinh(calc_number_t *c)
|
||||
{
|
||||
c->f = asinh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_acosh(calc_number_t *c)
|
||||
{
|
||||
c->f = acosh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_atanh(calc_number_t *c)
|
||||
{
|
||||
c->f = atanh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
void rpn_int(calc_number_t *c)
|
||||
{
|
||||
double int_part;
|
||||
|
||||
modf(calc.code.f, &int_part);
|
||||
c->f = int_part;
|
||||
}
|
||||
|
||||
void rpn_frac(calc_number_t *c)
|
||||
{
|
||||
double int_part;
|
||||
|
||||
c->f = modf(calc.code.f, &int_part);
|
||||
}
|
||||
|
||||
void rpn_reci(calc_number_t *c)
|
||||
{
|
||||
if (c->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
c->f = 1./c->f;
|
||||
}
|
||||
|
||||
void rpn_fact(calc_number_t *c)
|
||||
{
|
||||
double fact, mult, num;
|
||||
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
num = c->f;
|
||||
else
|
||||
num = (double)c->i;
|
||||
if (num > 1000) {
|
||||
calc.is_nan = TRUE;
|
||||
return;
|
||||
}
|
||||
if (num < 0) {
|
||||
calc.is_nan = TRUE;
|
||||
return;
|
||||
} else
|
||||
if (num == 0)
|
||||
fact = 1;
|
||||
else {
|
||||
rpn_int(c);
|
||||
fact = 1;
|
||||
mult = 2;
|
||||
while (mult <= num) {
|
||||
fact *= mult;
|
||||
mult++;
|
||||
}
|
||||
c->f = fact;
|
||||
}
|
||||
if (_finite(fact) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = fact;
|
||||
else
|
||||
c->i = (__int64)fact;
|
||||
}
|
||||
|
||||
__int64 logic_dbl2int(calc_number_t *a)
|
||||
{
|
||||
double int_part;
|
||||
int width;
|
||||
|
||||
modf(a->f, &int_part);
|
||||
width = (int_part==0) ? 1 : (int)log10(fabs(int_part))+1;
|
||||
if (width > 63) {
|
||||
calc.is_nan = TRUE;
|
||||
return 0;
|
||||
}
|
||||
return (__int64)int_part;
|
||||
}
|
||||
|
||||
double logic_int2dbl(calc_number_t *a)
|
||||
{
|
||||
return (double)a->i;
|
||||
}
|
||||
|
||||
void rpn_not(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
calc_number_t n;
|
||||
n.i = logic_dbl2int(c);
|
||||
c->f = (long double)(~n.i);
|
||||
} else
|
||||
c->i = ~c->i;
|
||||
}
|
||||
|
||||
void rpn_pi(calc_number_t *c)
|
||||
{
|
||||
c->f = CALC_PI;
|
||||
}
|
||||
|
||||
void rpn_2pi(calc_number_t *c)
|
||||
{
|
||||
c->f = CALC_PI*2;
|
||||
}
|
||||
|
||||
void rpn_sign(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = 0-c->f;
|
||||
else
|
||||
c->i = 0-c->i;
|
||||
}
|
||||
|
||||
void rpn_exp2(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
c->f *= c->f;
|
||||
if (_finite(c->f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
} else
|
||||
c->i *= c->i;
|
||||
}
|
||||
|
||||
void rpn_exp3(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
c->f = pow(c->f, 3.);
|
||||
if (_finite(c->f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
} else
|
||||
c->i *= (c->i*c->i);
|
||||
}
|
||||
|
||||
static __int64 myabs64(__int64 number)
|
||||
{
|
||||
return (number < 0) ? 0-number : number;
|
||||
}
|
||||
|
||||
static unsigned __int64 sqrti(unsigned __int64 number)
|
||||
{
|
||||
/* modified form of Newton's method for approximating roots */
|
||||
#define NEXT(n, i) (((n) + (i)/(n)) >> 1)
|
||||
unsigned __int64 n, n1;
|
||||
|
||||
#ifdef __GNUC__
|
||||
if (number == 0xffffffffffffffffULL)
|
||||
#else
|
||||
if (number == 0xffffffffffffffffUI64)
|
||||
#endif
|
||||
return 0xffffffff;
|
||||
|
||||
n = 1;
|
||||
n1 = NEXT(n, number);
|
||||
while (myabs64(n1 - n) > 1) {
|
||||
n = n1;
|
||||
n1 = NEXT(n, number);
|
||||
}
|
||||
while((n1*n1) > number)
|
||||
n1--;
|
||||
return n1;
|
||||
#undef NEXT
|
||||
}
|
||||
|
||||
void rpn_sqrt(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
if (c->f < 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
c->f = sqrt(c->f);
|
||||
} else {
|
||||
c->i = sqrti(c->i);
|
||||
}
|
||||
}
|
||||
|
||||
static __int64 cbrti(__int64 x) {
|
||||
__int64 s, y, b;
|
||||
|
||||
s = 60;
|
||||
y = 0;
|
||||
while(s >= 0) {
|
||||
y = 2*y;
|
||||
b = (3*y*(y + 1) + 1) << s;
|
||||
s = s - 3;
|
||||
if (x >= b) {
|
||||
x = x - b;
|
||||
y = y + 1;
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
|
||||
void rpn_cbrt(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
#if defined(__GNUC__) && !defined(__REACTOS__)
|
||||
c->f = cbrt(c->f);
|
||||
#else
|
||||
c->f = pow(c->f,1./3.);
|
||||
#endif
|
||||
else {
|
||||
c->i = cbrti(c->i);
|
||||
}
|
||||
}
|
||||
|
||||
void rpn_exp(calc_number_t *c)
|
||||
{
|
||||
c->f = exp(c->f);
|
||||
if (_finite(c->f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
void rpn_exp10(calc_number_t *c)
|
||||
{
|
||||
double int_part;
|
||||
|
||||
modf(c->f, &int_part);
|
||||
if (fmod(int_part, 2.) == 0.)
|
||||
calc.is_nan = TRUE;
|
||||
else {
|
||||
c->f = pow(10., c->f);
|
||||
if (_finite(c->f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void rpn_ln(calc_number_t *c)
|
||||
{
|
||||
if (c->f <= 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
c->f = log(c->f);
|
||||
}
|
||||
|
||||
void rpn_log(calc_number_t *c)
|
||||
{
|
||||
if (c->f <= 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
c->f = log10(c->f);
|
||||
}
|
||||
|
||||
static double stat_sum(void)
|
||||
{
|
||||
double sum = 0;
|
||||
statistic_t *p = calc.stat;
|
||||
|
||||
while (p != NULL) {
|
||||
if (p->base == IDC_RADIO_DEC)
|
||||
sum += p->num.f;
|
||||
else
|
||||
sum += p->num.i;
|
||||
p = (statistic_t *)(p->next);
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
static double stat_sum2(void)
|
||||
{
|
||||
double sum = 0;
|
||||
statistic_t *p = calc.stat;
|
||||
|
||||
while (p != NULL) {
|
||||
if (p->base == IDC_RADIO_DEC)
|
||||
sum += p->num.f * p->num.f;
|
||||
else
|
||||
sum += (double)p->num.i * (double)p->num.i;
|
||||
p = (statistic_t *)(p->next);
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
void rpn_ave(calc_number_t *c)
|
||||
{
|
||||
double ave = 0;
|
||||
int n;
|
||||
|
||||
ave = stat_sum();
|
||||
n = SendDlgItemMessage(calc.hStatWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
|
||||
|
||||
if (n)
|
||||
ave = ave / (double)n;
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = ave;
|
||||
else
|
||||
c->i = (__int64)ave;
|
||||
}
|
||||
|
||||
void rpn_ave2(calc_number_t *c)
|
||||
{
|
||||
double ave = 0;
|
||||
int n;
|
||||
|
||||
ave = stat_sum2();
|
||||
n = SendDlgItemMessage(calc.hStatWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
|
||||
|
||||
if (n)
|
||||
ave = ave / (double)n;
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = ave;
|
||||
else
|
||||
c->i = (__int64)ave;
|
||||
}
|
||||
|
||||
void rpn_sum(calc_number_t *c)
|
||||
{
|
||||
double sum = stat_sum();
|
||||
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = sum;
|
||||
else
|
||||
c->i = (__int64)sum;
|
||||
}
|
||||
|
||||
void rpn_sum2(calc_number_t *c)
|
||||
{
|
||||
double sum = stat_sum2();
|
||||
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = sum;
|
||||
else
|
||||
c->i = (__int64)sum;
|
||||
}
|
||||
|
||||
static void rpn_s_ex(calc_number_t *c, int pop_type)
|
||||
{
|
||||
double ave = 0;
|
||||
double n = 0;
|
||||
double dev = 0;
|
||||
double num = 0;
|
||||
statistic_t *p = calc.stat;
|
||||
|
||||
ave = stat_sum();
|
||||
n = (double)SendDlgItemMessage(calc.hStatWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
|
||||
|
||||
if (n == 0) {
|
||||
c->f = 0;
|
||||
return;
|
||||
}
|
||||
ave = ave / n;
|
||||
|
||||
dev = 0;
|
||||
p = calc.stat;
|
||||
while (p != NULL) {
|
||||
if (p->base == IDC_RADIO_DEC)
|
||||
num = p->num.f;
|
||||
else
|
||||
num = (double)p->num.i;
|
||||
dev += pow(num-ave, 2.);
|
||||
p = (statistic_t *)(p->next);
|
||||
}
|
||||
dev = sqrt(dev/(pop_type ? n-1 : n));
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = dev;
|
||||
else
|
||||
c->i = (__int64)dev;
|
||||
}
|
||||
|
||||
void rpn_s(calc_number_t *c)
|
||||
{
|
||||
rpn_s_ex(c, 0);
|
||||
}
|
||||
|
||||
void rpn_s_m1(calc_number_t *c)
|
||||
{
|
||||
rpn_s_ex(c, 1);
|
||||
}
|
||||
|
||||
void rpn_dms2dec(calc_number_t *c)
|
||||
{
|
||||
double d, m, s;
|
||||
|
||||
m = modf(c->f, &d) * 100;
|
||||
s = (modf(m, &m) * 100)+.5;
|
||||
modf(s, &s);
|
||||
|
||||
m = m/60;
|
||||
s = s/3600;
|
||||
|
||||
c->f = d + m + s;
|
||||
}
|
||||
|
||||
void rpn_dec2dms(calc_number_t *c)
|
||||
{
|
||||
double d, m, s;
|
||||
|
||||
m = modf(c->f, &d) * 60;
|
||||
s = ceil(modf(m, &m) * 60);
|
||||
c->f = d + m/100. + s/10000.;
|
||||
}
|
||||
|
||||
void rpn_zero(calc_number_t *c)
|
||||
{
|
||||
c->f = 0;
|
||||
}
|
||||
|
||||
void rpn_copy(calc_number_t *dst, calc_number_t *src)
|
||||
{
|
||||
*dst = *src;
|
||||
}
|
||||
|
||||
int rpn_is_zero(calc_number_t *c)
|
||||
{
|
||||
return (c->f == 0);
|
||||
}
|
||||
|
||||
void rpn_alloc(calc_number_t *c)
|
||||
{
|
||||
}
|
||||
|
||||
void rpn_free(calc_number_t *c)
|
||||
{
|
||||
}
|
@@ -1,28 +1,5 @@
|
||||
/*
|
||||
* ReactOS Calc (Math functions, GMP/MPFR engine)
|
||||
*
|
||||
* Copyright 2007-2017, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
static void validate_rad2angle(calc_number_t *c);
|
||||
static void validate_angle2rad(calc_number_t *c);
|
||||
|
||||
void apply_int_mask(calc_number_t *r)
|
||||
{
|
||||
mpz_t a, mask;
|
||||
@@ -51,7 +28,7 @@ void apply_int_mask(calc_number_t *r)
|
||||
mpz_clear(mask);
|
||||
}
|
||||
|
||||
static void validate_rad2angle(calc_number_t *r)
|
||||
void validate_rad2angle(calc_number_t *r)
|
||||
{
|
||||
mpfr_t mult, divs;
|
||||
|
||||
@@ -78,7 +55,7 @@ static void validate_rad2angle(calc_number_t *r)
|
||||
mpfr_clear(divs);
|
||||
}
|
||||
|
||||
static void validate_angle2rad(calc_number_t *r)
|
||||
void validate_angle2rad(calc_number_t *r)
|
||||
{
|
||||
mpfr_t mult, divs;
|
||||
|
||||
@@ -364,21 +341,6 @@ static void stat_sum(mpfr_t sum)
|
||||
}
|
||||
}
|
||||
|
||||
static void stat_sum2(mpfr_t sum)
|
||||
{
|
||||
statistic_t *p = calc.stat;
|
||||
mpfr_t sqr;
|
||||
|
||||
mpfr_init(sqr);
|
||||
mpfr_set_ui(sum, 0, MPFR_DEFAULT_RND);
|
||||
while (p != NULL) {
|
||||
mpfr_mul(sqr, p->num.mf, p->num.mf, MPFR_DEFAULT_RND);
|
||||
mpfr_add(sum, sum, sqr, MPFR_DEFAULT_RND);
|
||||
p = (statistic_t *)(p->next);
|
||||
}
|
||||
mpfr_clear(sqr);
|
||||
}
|
||||
|
||||
void rpn_ave(calc_number_t *c)
|
||||
{
|
||||
int n;
|
||||
@@ -393,20 +355,6 @@ void rpn_ave(calc_number_t *c)
|
||||
mpfr_trunc(c->mf, c->mf);
|
||||
}
|
||||
|
||||
void rpn_ave2(calc_number_t *c)
|
||||
{
|
||||
int n;
|
||||
|
||||
stat_sum2(c->mf);
|
||||
n = SendDlgItemMessage(calc.hStatWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
|
||||
|
||||
if (n)
|
||||
mpfr_div_ui(c->mf, c->mf, n, MPFR_DEFAULT_RND);
|
||||
|
||||
if (calc.base != IDC_RADIO_DEC)
|
||||
mpfr_trunc(c->mf, c->mf);
|
||||
}
|
||||
|
||||
void rpn_sum(calc_number_t *c)
|
||||
{
|
||||
stat_sum(c->mf);
|
||||
@@ -415,14 +363,6 @@ void rpn_sum(calc_number_t *c)
|
||||
mpfr_trunc(c->mf, c->mf);
|
||||
}
|
||||
|
||||
void rpn_sum2(calc_number_t *c)
|
||||
{
|
||||
stat_sum2(c->mf);
|
||||
|
||||
if (calc.base != IDC_RADIO_DEC)
|
||||
mpfr_trunc(c->mf, c->mf);
|
||||
}
|
||||
|
||||
static void rpn_s_ex(calc_number_t *c, int pop_type)
|
||||
{
|
||||
mpfr_t dev;
|
||||
|
544
base/applications/calc/function.c
Normal file
544
base/applications/calc/function.c
Normal file
@@ -0,0 +1,544 @@
|
||||
#include "calc.h"
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
void apply_int_mask(calc_number_t *r)
|
||||
{
|
||||
unsigned __int64 mask;
|
||||
|
||||
switch (calc.size) {
|
||||
case IDC_RADIO_QWORD:
|
||||
mask = _UI64_MAX;
|
||||
break;
|
||||
case IDC_RADIO_DWORD:
|
||||
mask = ULONG_MAX;
|
||||
break;
|
||||
case IDC_RADIO_WORD:
|
||||
mask = USHRT_MAX;
|
||||
break;
|
||||
case IDC_RADIO_BYTE:
|
||||
mask = UCHAR_MAX;
|
||||
break;
|
||||
default:
|
||||
mask = (unsigned __int64)-1;
|
||||
}
|
||||
r->i &= mask;
|
||||
}
|
||||
|
||||
double asinh(double x)
|
||||
{
|
||||
return log(x+sqrt(x*x+1));
|
||||
}
|
||||
|
||||
double acosh(double x)
|
||||
{
|
||||
// must be x>=1, if not return Nan (Not a Number)
|
||||
if(!(x>=1.0)) return sqrt(-1.0);
|
||||
|
||||
// return only the positive result (as sqrt does).
|
||||
return log(x+sqrt(x*x-1.0));
|
||||
}
|
||||
|
||||
double atanh(double x)
|
||||
{
|
||||
// must be x>-1, x<1, if not return Nan (Not a Number)
|
||||
if(!(x>-1.0 && x<1.0)) return sqrt(-1.0);
|
||||
|
||||
return log((1.0+x)/(1.0-x))/2.0;
|
||||
}
|
||||
|
||||
double validate_rad2angle(double a)
|
||||
{
|
||||
switch (calc.degr) {
|
||||
case IDC_RADIO_DEG:
|
||||
a = a * (180.0/CALC_PI);
|
||||
break;
|
||||
case IDC_RADIO_RAD:
|
||||
break;
|
||||
case IDC_RADIO_GRAD:
|
||||
a = a * (200.0/CALC_PI);
|
||||
break;
|
||||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
double validate_angle2rad(calc_number_t *c)
|
||||
{
|
||||
switch (calc.degr) {
|
||||
case IDC_RADIO_DEG:
|
||||
c->f = c->f * (CALC_PI/180.0);
|
||||
break;
|
||||
case IDC_RADIO_RAD:
|
||||
break;
|
||||
case IDC_RADIO_GRAD:
|
||||
c->f = c->f * (CALC_PI/200.0);
|
||||
break;
|
||||
}
|
||||
return c->f;
|
||||
}
|
||||
|
||||
void rpn_sin(calc_number_t *c)
|
||||
{
|
||||
double angle = validate_angle2rad(c);
|
||||
|
||||
if (angle == 0 || angle == CALC_PI)
|
||||
c->f = 0;
|
||||
else
|
||||
if (angle == CALC_3_PI_2)
|
||||
c->f = -1;
|
||||
else
|
||||
if (angle == CALC_2_PI)
|
||||
c->f = 1;
|
||||
else
|
||||
c->f = sin(angle);
|
||||
}
|
||||
void rpn_cos(calc_number_t *c)
|
||||
{
|
||||
double angle = validate_angle2rad(c);
|
||||
|
||||
if (angle == CALC_PI_2 || angle == CALC_3_PI_2)
|
||||
c->f = 0;
|
||||
else
|
||||
if (angle == CALC_PI)
|
||||
c->f = -1;
|
||||
else
|
||||
if (angle == CALC_2_PI)
|
||||
c->f = 1;
|
||||
else
|
||||
c->f = cos(angle);
|
||||
}
|
||||
void rpn_tan(calc_number_t *c)
|
||||
{
|
||||
double angle = validate_angle2rad(c);
|
||||
|
||||
if (angle == CALC_PI_2 || angle == CALC_3_PI_2)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
if (angle == CALC_PI || angle == CALC_2_PI)
|
||||
c->f = 0;
|
||||
else
|
||||
c->f = tan(angle);
|
||||
}
|
||||
|
||||
void rpn_asin(calc_number_t *c)
|
||||
{
|
||||
c->f = validate_rad2angle(asin(c->f));
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_acos(calc_number_t *c)
|
||||
{
|
||||
c->f = validate_rad2angle(acos(c->f));
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_atan(calc_number_t *c)
|
||||
{
|
||||
c->f = validate_rad2angle(atan(c->f));
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
void rpn_sinh(calc_number_t *c)
|
||||
{
|
||||
c->f = sinh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_cosh(calc_number_t *c)
|
||||
{
|
||||
c->f = cosh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_tanh(calc_number_t *c)
|
||||
{
|
||||
c->f = tanh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
void rpn_asinh(calc_number_t *c)
|
||||
{
|
||||
c->f = asinh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_acosh(calc_number_t *c)
|
||||
{
|
||||
c->f = acosh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
void rpn_atanh(calc_number_t *c)
|
||||
{
|
||||
c->f = atanh(c->f);
|
||||
if (_isnan(c->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
void rpn_int(calc_number_t *c)
|
||||
{
|
||||
double int_part;
|
||||
|
||||
modf(calc.code.f, &int_part);
|
||||
c->f = int_part;
|
||||
}
|
||||
|
||||
void rpn_frac(calc_number_t *c)
|
||||
{
|
||||
double int_part;
|
||||
|
||||
c->f = modf(calc.code.f, &int_part);
|
||||
}
|
||||
|
||||
void rpn_reci(calc_number_t *c)
|
||||
{
|
||||
if (c->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
c->f = 1./c->f;
|
||||
}
|
||||
|
||||
void rpn_fact(calc_number_t *c)
|
||||
{
|
||||
double fact, mult, num;
|
||||
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
num = c->f;
|
||||
else
|
||||
num = (double)c->i;
|
||||
if (num > 1000) {
|
||||
calc.is_nan = TRUE;
|
||||
return;
|
||||
}
|
||||
if (num < 0) {
|
||||
calc.is_nan = TRUE;
|
||||
return;
|
||||
} else
|
||||
if (num == 0)
|
||||
fact = 1;
|
||||
else {
|
||||
rpn_int(c);
|
||||
fact = 1;
|
||||
mult = 2;
|
||||
while (mult <= num) {
|
||||
fact *= mult;
|
||||
mult++;
|
||||
}
|
||||
c->f = fact;
|
||||
}
|
||||
if (_finite(fact) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = fact;
|
||||
else
|
||||
c->i = (__int64)fact;
|
||||
}
|
||||
|
||||
__int64 logic_dbl2int(calc_number_t *a)
|
||||
{
|
||||
double int_part;
|
||||
int width;
|
||||
|
||||
modf(a->f, &int_part);
|
||||
width = (int_part==0) ? 1 : (int)log10(fabs(int_part))+1;
|
||||
if (width > 63) {
|
||||
calc.is_nan = TRUE;
|
||||
return 0;
|
||||
}
|
||||
return (__int64)int_part;
|
||||
}
|
||||
double logic_int2dbl(calc_number_t *a)
|
||||
{
|
||||
return (double)a->i;
|
||||
}
|
||||
|
||||
void rpn_not(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
calc_number_t n;
|
||||
n.i = logic_dbl2int(c);
|
||||
c->f = (long double)(~n.i);
|
||||
} else
|
||||
c->i = ~c->i;
|
||||
}
|
||||
|
||||
void rpn_pi(calc_number_t *c)
|
||||
{
|
||||
c->f = CALC_PI;
|
||||
}
|
||||
|
||||
void rpn_2pi(calc_number_t *c)
|
||||
{
|
||||
c->f = CALC_PI*2;
|
||||
}
|
||||
|
||||
void rpn_sign(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = 0-c->f;
|
||||
else
|
||||
c->i = 0-c->i;
|
||||
}
|
||||
|
||||
void rpn_exp2(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
c->f *= c->f;
|
||||
if (_finite(c->f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
} else
|
||||
c->i *= c->i;
|
||||
}
|
||||
|
||||
void rpn_exp3(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
c->f = pow(c->f, 3.);
|
||||
if (_finite(c->f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
} else
|
||||
c->i *= (c->i*c->i);
|
||||
}
|
||||
|
||||
static __int64 myabs64(__int64 number)
|
||||
{
|
||||
return (number < 0) ? 0-number : number;
|
||||
}
|
||||
|
||||
static unsigned __int64 sqrti(unsigned __int64 number)
|
||||
{
|
||||
/* modified form of Newton's method for approximating roots */
|
||||
#define NEXT(n, i) (((n) + (i)/(n)) >> 1)
|
||||
unsigned __int64 n, n1;
|
||||
|
||||
#ifdef __GNUC__
|
||||
if (number == 0xffffffffffffffffLL)
|
||||
#else
|
||||
if (number == 0xffffffffffffffff)
|
||||
#endif
|
||||
return 0xffffffff;
|
||||
|
||||
n = 1;
|
||||
n1 = NEXT(n, number);
|
||||
while (myabs64(n1 - n) > 1) {
|
||||
n = n1;
|
||||
n1 = NEXT(n, number);
|
||||
}
|
||||
while((n1*n1) > number)
|
||||
n1--;
|
||||
return n1;
|
||||
#undef NEXT
|
||||
}
|
||||
|
||||
void rpn_sqrt(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
if (c->f < 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
c->f = sqrt(c->f);
|
||||
} else {
|
||||
c->i = sqrti(c->i);
|
||||
}
|
||||
}
|
||||
|
||||
static __int64 cbrti(__int64 x) {
|
||||
__int64 s, y, b;
|
||||
|
||||
s = 60;
|
||||
y = 0;
|
||||
while(s >= 0) {
|
||||
y = 2*y;
|
||||
b = (3*y*(y + 1) + 1) << s;
|
||||
s = s - 3;
|
||||
if (x >= b) {
|
||||
x = x - b;
|
||||
y = y + 1;
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
|
||||
void rpn_cbrt(calc_number_t *c)
|
||||
{
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
#if defined(__GNUC__) && !defined(__REACTOS__)
|
||||
c->f = cbrt(c->f);
|
||||
#else
|
||||
c->f = pow(c->f,1./3.);
|
||||
#endif
|
||||
else {
|
||||
c->i = cbrti(c->i);
|
||||
}
|
||||
}
|
||||
|
||||
void rpn_exp(calc_number_t *c)
|
||||
{
|
||||
c->f = exp(c->f);
|
||||
if (_finite(c->f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
void rpn_exp10(calc_number_t *c)
|
||||
{
|
||||
double int_part;
|
||||
|
||||
modf(c->f, &int_part);
|
||||
if (fmod(int_part, 2.) == 0.)
|
||||
calc.is_nan = TRUE;
|
||||
else {
|
||||
c->f = pow(10., c->f);
|
||||
if (_finite(c->f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void rpn_ln(calc_number_t *c)
|
||||
{
|
||||
if (c->f <= 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
c->f = log(c->f);
|
||||
}
|
||||
|
||||
void rpn_log(calc_number_t *c)
|
||||
{
|
||||
if (c->f <= 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
c->f = log10(c->f);
|
||||
}
|
||||
|
||||
static double stat_sum(void)
|
||||
{
|
||||
double sum = 0;
|
||||
statistic_t *p = calc.stat;
|
||||
|
||||
while (p != NULL) {
|
||||
if (p->base == IDC_RADIO_DEC)
|
||||
sum += p->num.f;
|
||||
else
|
||||
sum += p->num.i;
|
||||
p = (statistic_t *)(p->next);
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
void rpn_ave(calc_number_t *c)
|
||||
{
|
||||
double ave = 0;
|
||||
int n;
|
||||
|
||||
ave = stat_sum();
|
||||
n = SendDlgItemMessage(calc.hStatWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
|
||||
|
||||
if (n)
|
||||
ave = ave / (double)n;
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = ave;
|
||||
else
|
||||
c->i = (__int64)ave;
|
||||
}
|
||||
|
||||
void rpn_sum(calc_number_t *c)
|
||||
{
|
||||
double sum = stat_sum();
|
||||
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = sum;
|
||||
else
|
||||
c->i = (__int64)sum;
|
||||
}
|
||||
|
||||
static void rpn_s_ex(calc_number_t *c, int pop_type)
|
||||
{
|
||||
double ave = 0;
|
||||
double n = 0;
|
||||
double dev = 0;
|
||||
double num = 0;
|
||||
statistic_t *p = calc.stat;
|
||||
|
||||
ave = stat_sum();
|
||||
n = (double)SendDlgItemMessage(calc.hStatWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
|
||||
|
||||
if (n == 0) {
|
||||
c->f = 0;
|
||||
return;
|
||||
}
|
||||
ave = ave / n;
|
||||
|
||||
dev = 0;
|
||||
p = calc.stat;
|
||||
while (p != NULL) {
|
||||
if (p->base == IDC_RADIO_DEC)
|
||||
num = p->num.f;
|
||||
else
|
||||
num = (double)p->num.i;
|
||||
dev += pow(num-ave, 2.);
|
||||
p = (statistic_t *)(p->next);
|
||||
}
|
||||
dev = sqrt(dev/(pop_type ? n-1 : n));
|
||||
if (calc.base == IDC_RADIO_DEC)
|
||||
c->f = dev;
|
||||
else
|
||||
c->i = (__int64)dev;
|
||||
}
|
||||
|
||||
void rpn_s(calc_number_t *c)
|
||||
{
|
||||
rpn_s_ex(c, 0);
|
||||
}
|
||||
|
||||
void rpn_s_m1(calc_number_t *c)
|
||||
{
|
||||
rpn_s_ex(c, 1);
|
||||
}
|
||||
|
||||
void rpn_dms2dec(calc_number_t *c)
|
||||
{
|
||||
double d, m, s;
|
||||
|
||||
m = modf(c->f, &d) * 100;
|
||||
s = (modf(m, &m) * 100)+.5;
|
||||
modf(s, &s);
|
||||
|
||||
m = m/60;
|
||||
s = s/3600;
|
||||
|
||||
c->f = d + m + s;
|
||||
}
|
||||
|
||||
void rpn_dec2dms(calc_number_t *c)
|
||||
{
|
||||
double d, m, s;
|
||||
|
||||
m = modf(c->f, &d) * 60;
|
||||
s = ceil(modf(m, &m) * 60);
|
||||
c->f = d + m/100. + s/10000.;
|
||||
}
|
||||
|
||||
void rpn_zero(calc_number_t *c)
|
||||
{
|
||||
c->f = 0;
|
||||
}
|
||||
|
||||
void rpn_copy(calc_number_t *dst, calc_number_t *src)
|
||||
{
|
||||
*dst = *src;
|
||||
}
|
||||
|
||||
int rpn_is_zero(calc_number_t *c)
|
||||
{
|
||||
return (c->f == 0);
|
||||
}
|
||||
|
||||
void rpn_alloc(calc_number_t *c)
|
||||
{
|
||||
}
|
||||
|
||||
void rpn_free(calc_number_t *c)
|
||||
{
|
||||
}
|
@@ -204,16 +204,10 @@ It deletes all numbers currently stored into the list.
|
||||
While the statistical window is shown, four additional buttons are enabled:
|
||||
[Ave]
|
||||
It calculates the arithmetic average of the numbers stored into the list.
|
||||
[Ave] + [Inv]
|
||||
It calculates the arithmetic average of the squares of the numbers stored into the list.
|
||||
[Sum]
|
||||
It calculates the sum of all numbers stored into the list.
|
||||
[Sum] + [Inv]
|
||||
It calculates the sum of the squares of all numbers stored into the list.
|
||||
[s]
|
||||
It calculates the population standard deviations with base 'n-1' of the numbers stored into the list.
|
||||
[s] + [Inv]
|
||||
It calculates the population standard deviations with base 'n' of the numbers stored into the list.
|
||||
It calculates the population standard deviations of the numbers stored into the list.
|
||||
[Dat]
|
||||
It inserts the number shown into the output display into the list.
|
||||
|
||||
@@ -337,7 +331,7 @@ It deletes the current calculation and all sub expressions.
|
||||
Shortcut from keyboard: ESC
|
||||
|
||||
F-E
|
||||
It enables or it disables the fixed scientific notation.
|
||||
It enables or it disables the fixed scietific notation.
|
||||
Shortcut from keyboard: V
|
||||
|
||||
0 1 2 3 4 5 6 7 8 9
|
||||
@@ -489,12 +483,10 @@ Shortcut from keyboard: CTRL-S
|
||||
|
||||
Ave
|
||||
It calculates the arithmetic average of the numbers stored into the statistical box.
|
||||
When used with [Inv] modifier it calculates the average of squares.
|
||||
Shortcut from keyboard: CTRL-A
|
||||
|
||||
Sum
|
||||
It calculates the sum of the numbers stored into the statistical box.
|
||||
When used with [Inv] modifier it calculates the summation of squares.
|
||||
Shortcut from keyboard: CTRL-T
|
||||
|
||||
s
|
||||
|
@@ -1,67 +0,0 @@
|
||||
/*
|
||||
* ReactOS Calc (HtmlHelp support)
|
||||
*
|
||||
* Copyright 2007-2017, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
#define GET_CB(name) \
|
||||
calc_##name = (type_##name)GetProcAddress(hHtmlHelp, #name); \
|
||||
if (calc_##name == NULL) calc_##name = dummy_##name;
|
||||
|
||||
static HWND WINAPI
|
||||
dummy_HtmlHelpA(HWND hWnd, LPCSTR pszFile, UINT uCommand, DWORD dwData);
|
||||
|
||||
static HWND WINAPI
|
||||
dummy_HtmlHelpW(HWND hWnd, LPCWSTR pszFile, UINT uCommand, DWORD dwData);
|
||||
|
||||
type_HtmlHelpA calc_HtmlHelpA = dummy_HtmlHelpA;
|
||||
type_HtmlHelpW calc_HtmlHelpW = dummy_HtmlHelpW;
|
||||
|
||||
static HMODULE hHtmlHelp;
|
||||
|
||||
static HWND WINAPI
|
||||
dummy_HtmlHelpA(HWND hWnd, LPCSTR pszFile, UINT uCommand, DWORD dwData)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static HWND WINAPI
|
||||
dummy_HtmlHelpW(HWND hWnd, LPCWSTR pszFile, UINT uCommand, DWORD dwData)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void HtmlHelp_Start(HINSTANCE hInstance)
|
||||
{
|
||||
hHtmlHelp = LoadLibrary(_T("HHCTRL.OCX"));
|
||||
if (hHtmlHelp == NULL)
|
||||
return;
|
||||
|
||||
GET_CB(HtmlHelpW)
|
||||
GET_CB(HtmlHelpA)
|
||||
}
|
||||
|
||||
void HtmlHelp_Stop(void)
|
||||
{
|
||||
if(hHtmlHelp == NULL)
|
||||
return;
|
||||
|
||||
FreeLibrary(hHtmlHelp);
|
||||
hHtmlHelp = NULL;
|
||||
}
|
@@ -1,5 +1,5 @@
|
||||
/* Превод на Български/ Bulgarian translation
|
||||
* https://reactos.org/wiki/Bulgarian_translation
|
||||
* http://www.reactos.org/wiki/Bulgarian_translation
|
||||
* FILE: base/applications/calc/lang/bg-BG.rc
|
||||
* Недовършен / Incomplete
|
||||
*/
|
||||
@@ -10,7 +10,7 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Калкулатор за ReactOS"
|
||||
CAPTION "Изчислителят на РеактОС"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
@@ -145,7 +145,7 @@ BEGIN
|
||||
NOT WS_VISIBLE, 270, 21, 38, 10
|
||||
CONTROL "Градуси", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
|
||||
CONTROL "Радиани", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
|
||||
CONTROL "Градиани", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
CONTROL "Градове", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
@@ -158,7 +158,7 @@ END
|
||||
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Калкулатор за ReactOS"
|
||||
CAPTION "Изчислителян на РеактОС"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
@@ -223,7 +223,7 @@ END
|
||||
|
||||
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Калкулатор за ReactOS"
|
||||
CAPTION "Изчислителят на РеактОС"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
@@ -331,7 +331,7 @@ BEGIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Градуси\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "Радиани\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "Градиани\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM "Градове\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Разделяне на хилядите", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
@@ -339,7 +339,7 @@ BEGIN
|
||||
BEGIN
|
||||
MENUITEM "Помощ", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "За ReactOS Calculator", IDM_HELP_ABOUT
|
||||
MENUITEM "За ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
@@ -372,7 +372,7 @@ BEGIN
|
||||
BEGIN
|
||||
MENUITEM "Помощ", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "За ReactOS Calculator", IDM_HELP_ABOUT
|
||||
MENUITEM "За ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
@@ -395,7 +395,7 @@ BEGIN
|
||||
BEGIN
|
||||
MENUITEM "Помощ", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "За ReactOS Calculator", IDM_HELP_ABOUT
|
||||
MENUITEM "За ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
@@ -410,7 +410,7 @@ END
|
||||
/* About */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CALC_NAME "Калкулатор за ReactOS"
|
||||
IDS_CALC_NAME "Изчислителят на РеактОС"
|
||||
IDS_AUTHOR "Написано от Carlo Bramini"
|
||||
END
|
||||
|
||||
@@ -419,7 +419,7 @@ STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONV_ANGLE "Ъгъл"
|
||||
IDS_CONV_AREA "Площ"
|
||||
IDS_CONV_CONSUMPTION "Разход (двигатели)"
|
||||
IDS_CONV_CONSUMPTION "Потребление (двигатели)"
|
||||
IDS_CONV_CURRENCY "Парични единици"
|
||||
IDS_CONV_ENERGY "Енергия"
|
||||
IDS_CONV_LENGTH "Дължина"
|
||||
@@ -435,10 +435,8 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Минути от arc"
|
||||
IDS_ANGLE_ARCSECONDS "Секунди от arc"
|
||||
IDS_ANGLE_DEGREES "Градуси"
|
||||
IDS_ANGLE_GRADIANS "Градиани"
|
||||
IDS_ANGLE_GRADIANS "Гради"
|
||||
IDS_ANGLE_RADIANS "Радиани"
|
||||
END
|
||||
|
||||
@@ -486,7 +484,7 @@ STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONSUMPTION_KM_PER_L "Километри/литър"
|
||||
IDS_CONSUMPTION_L_PER_100_KM "Литри/100 километра"
|
||||
IDS_CONSUMPTION_MILES_GALLON_UK "Мили/галон (ВБ)"
|
||||
IDS_CONSUMPTION_MILES_GALLON_UK "Мили/галон (ОК)"
|
||||
IDS_CONSUMPTION_MILES_GALLON_US "Мили/галон (САЩ)"
|
||||
END
|
||||
|
||||
@@ -499,15 +497,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Чешка крона"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Германска марка"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Холандски гулден"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Евро"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Финска марка"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Френски франк"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Гръцка драхма"
|
||||
IDS_CURRENCY_IRISH_POUND "Ирландска лира"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Италианска лира"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Люксембургски франк"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Малтийска лира"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Португалско ескудо"
|
||||
@@ -710,6 +705,6 @@ BEGIN
|
||||
IDS_WEIGHT_STONES "Камъни"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
IDS_WEIGHT_TONNES "Тонове"
|
||||
IDS_WEIGHT_TONS_UK "Тонове (ВБ)"
|
||||
IDS_WEIGHT_TONS_UK "Тонове (ОК)"
|
||||
IDS_WEIGHT_TONS_US "Тонове (САЩ)"
|
||||
END
|
||||
|
@@ -434,8 +434,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Stupně"
|
||||
IDS_ANGLE_GRADIANS "Grady"
|
||||
IDS_ANGLE_RADIANS "Radiány"
|
||||
@@ -498,15 +496,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Česká koruna"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Německá marka"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Nizozemský gulden"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finská marka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Francouzský frank"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Řecká drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Irská libra"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italská lira"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Lucemburský frank"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltská lira"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalské escudo"
|
||||
|
@@ -429,8 +429,6 @@ END
|
||||
/* Winkeltypen */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Grad"
|
||||
IDS_ANGLE_GRADIANS "Gon"
|
||||
IDS_ANGLE_RADIANS "Radiant"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Tschechische Krone"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Niederländische Guilder"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finnische Mark"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Französchische Franc"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Griechische Drachme"
|
||||
IDS_CURRENCY_IRISH_POUND "Irische Pfund"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italienische Lire"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburgische Franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltesische Lire"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugiesische Escudo"
|
||||
|
@@ -429,8 +429,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Βαθμοί"
|
||||
IDS_ANGLE_GRADIANS "Ακτίνια"
|
||||
IDS_ANGLE_RADIANS "Μοίρες"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Czech koruna"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Γερμανικό μάρκο"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Ευρώ"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Γαλλικό φράγκο"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Δραχμή"
|
||||
IDS_CURRENCY_IRISH_POUND "Irish pound"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Ιταλική λίρα"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Μαλτέζικη λίρα"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Πορτογαλικό εσκούδο"
|
||||
|
@@ -331,7 +331,7 @@ BEGIN
|
||||
END
|
||||
POPUP "&Help"
|
||||
BEGIN
|
||||
MENUITEM "&Help Topics", IDM_HELP_HELP
|
||||
MENUITEM "&Help topics", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
@@ -364,7 +364,7 @@ BEGIN
|
||||
END
|
||||
POPUP "&Help"
|
||||
BEGIN
|
||||
MENUITEM "&Help Topics", IDM_HELP_HELP
|
||||
MENUITEM "&Help topics", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
@@ -387,7 +387,7 @@ BEGIN
|
||||
END
|
||||
POPUP "&Help"
|
||||
BEGIN
|
||||
MENUITEM "&Help Topics", IDM_HELP_HELP
|
||||
MENUITEM "&Help topics", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About ReactOS Calc", IDM_HELP_ABOUT
|
||||
END
|
||||
@@ -429,8 +429,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Degrees"
|
||||
IDS_ANGLE_GRADIANS "Gradians"
|
||||
IDS_ANGLE_RADIANS "Radians"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Czech koruna"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "French franc"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Greek Drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Irish pound"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portuguese escudo"
|
||||
|
@@ -435,8 +435,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Grados"
|
||||
IDS_ANGLE_GRADIANS "Gradianes"
|
||||
IDS_ANGLE_RADIANS "Radianes"
|
||||
@@ -499,15 +497,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Corona checa"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Marco alemán"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Florín neerlandés"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Marco finlandés"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franco frances"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Drachma griego"
|
||||
IDS_CURRENCY_IRISH_POUND "Libra irlandesa"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Lira italiana"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburgués"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Lira maltesa"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portugués"
|
||||
|
@@ -144,7 +144,7 @@ BEGIN
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Retour arrière", IDC_BUTTON_BACK, 166, 38, 54, 18, BS_CENTER |
|
||||
PUSHBUTTON "Retour arrière", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
@@ -156,11 +156,11 @@ CAPTION "Calculatrice ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 128, 23, 36, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 90, 23, 36, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Retour arrière", IDC_BUTTON_BACK, 36, 23, 52, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Retour arrière", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
@@ -232,11 +232,11 @@ BEGIN
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Convertir en :", IDC_STATIC, 5, 76, 56, 8
|
||||
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 280, 24, 36, 17
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
|
||||
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 242, 24, 36, 17
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
|
||||
CONTROL "Retour arrière", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 52, 17
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
|
||||
@@ -429,8 +429,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute d'arc"
|
||||
IDS_ANGLE_ARCSECONDS "Seconde d'arc"
|
||||
IDS_ANGLE_DEGREES "Degrés"
|
||||
IDS_ANGLE_GRADIANS "Grades"
|
||||
IDS_ANGLE_RADIANS "Radians"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Couronne tchèque"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Mark allemand"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Marks finlandais"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franc français"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Drachmes grecques"
|
||||
IDS_CURRENCY_IRISH_POUND "Livre irlandaise"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Lire italienne"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc luxembourgeois"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Lire maltaise"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portugaise"
|
||||
@@ -599,7 +594,7 @@ BEGIN
|
||||
IDS_PRESSURE_KILOPASCALS "Kilopascals"
|
||||
IDS_PRESSURE_MM_OF_MERCURY "Millimètres de mercure"
|
||||
IDS_PRESSURE_PASCALS "Pascals"
|
||||
IDS_PRESSURE_PSI "Livre-force par pouce-carrés"
|
||||
IDS_PRESSURE_PSI "Pounds-force per square inch"
|
||||
END
|
||||
|
||||
/* Temperatures */
|
||||
|
@@ -6,30 +6,29 @@ LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_LAYOUTRTL
|
||||
CAPTION "מחשבון ReactOS"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "", IDC_STATIC, 4 ,14, 141, 20
|
||||
CONTROL "הקס", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 6, 21, 30, 10
|
||||
CONTROL "עשרוני", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 36, 21, 34, 10
|
||||
CONTROL "אוקטלי", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 73, 21, 37, 10
|
||||
CONTROL "בינרי", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 113, 21, 30, 10
|
||||
GROUPBOX "", IDC_STATIC, 4, 34, 84, 20
|
||||
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
|
||||
CONTROL "הקסהדסימלי", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
|
||||
CONTROL "עשרוני", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
|
||||
CONTROL "אוקטלי", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
|
||||
CONTROL "בינארי", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
|
||||
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
|
||||
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
|
||||
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
|
||||
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta", IDC_BUTTON_STA, 4, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 4, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 4, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s", IDC_BUTTON_S, 4, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 4, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -71,15 +70,15 @@ BEGIN
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F", IDC_BUTTON_F, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -89,17 +88,17 @@ BEGIN
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E", IDC_BUTTON_E, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D", IDC_BUTTON_D, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -109,7 +108,7 @@ BEGIN
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C", IDC_BUTTON_C, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -119,7 +118,7 @@ BEGIN
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B", IDC_BUTTON_B, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -129,7 +128,7 @@ BEGIN
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A", IDC_BUTTON_A, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
|
||||
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
@@ -142,7 +141,7 @@ BEGIN
|
||||
NOT WS_VISIBLE, 270, 21, 38, 10
|
||||
CONTROL "מעלות", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
|
||||
CONTROL "רדיאנים", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
|
||||
CONTROL "גרדיאנים", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
CONTROL "Gradians", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
@@ -155,7 +154,6 @@ END
|
||||
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_LAYOUTRTL
|
||||
CAPTION "מחשבון ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
@@ -164,14 +162,14 @@ BEGIN
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "מחק", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Back", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -183,11 +181,11 @@ BEGIN
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -221,7 +219,6 @@ END
|
||||
|
||||
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_LAYOUTRTL
|
||||
CAPTION "מחשבון ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
@@ -240,14 +237,14 @@ BEGIN
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
|
||||
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
|
||||
CONTROL "חזרה", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "Back", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
|
||||
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
|
||||
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
|
||||
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
|
||||
@@ -259,11 +256,11 @@ BEGIN
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
|
||||
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
|
||||
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
|
||||
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
|
||||
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
|
||||
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
|
||||
@@ -297,7 +294,6 @@ END
|
||||
|
||||
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_LAYOUTRTL
|
||||
CAPTION "תיבת סטטיסטיקה"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
@@ -327,11 +323,11 @@ BEGIN
|
||||
MENUITEM "הקס\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "עשרוני\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "אוקטלי\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "בינרי\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM "בינארי\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "מעלות\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "רדיאנים\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "גרדיאנים\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM "Gradians\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "קיבוץ ספרות", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
@@ -339,7 +335,7 @@ BEGIN
|
||||
BEGIN
|
||||
MENUITEM "נושאי עזרה", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "אודות מחשבון ReactOS", IDM_HELP_ABOUT
|
||||
MENUITEM "אודות המחשבון ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
@@ -359,7 +355,7 @@ BEGIN
|
||||
MENUITEM "הקס\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "עשרוני\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "אוקטלי\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "בינרי\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM "בינארי\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
@@ -411,7 +407,7 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CALC_NAME "מחשבון ReactOS"
|
||||
IDS_AUTHOR "נכתב על ידי Carlo Bramini"
|
||||
IDS_AUTHOR "נכתבה על ידי Carlo Bramini"
|
||||
END
|
||||
|
||||
/* Types of conversion */
|
||||
@@ -435,10 +431,8 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "מעלות"
|
||||
IDS_ANGLE_GRADIANS "גרדיאנים"
|
||||
IDS_ANGLE_GRADIANS "Gradians"
|
||||
IDS_ANGLE_RADIANS "רדיאנים"
|
||||
END
|
||||
|
||||
@@ -499,15 +493,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "קורונה צ'כי"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "מארק גרמני"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "גילדר הולנדי"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "קרון אסטוני"
|
||||
IDS_CURRENCY_EURO "אירו"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "מארקה פינית"
|
||||
IDS_CURRENCY_FRENCH_FRANC "פרנק צרפתי"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "דרכמה יוונית"
|
||||
IDS_CURRENCY_IRISH_POUND "לירה אירית"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "לירה איטלקית"
|
||||
IDS_CURRENCY_LATVIAN_LATS "לטים לטבים"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "פרנק לוקסמבורגי"
|
||||
IDS_CURRENCY_MALTESE_LIRA "לירה מלטזי"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "אסקודו פורטגלי"
|
||||
@@ -710,6 +701,6 @@ BEGIN
|
||||
IDS_WEIGHT_STONES "Stones"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
IDS_WEIGHT_TONNES "טונות"
|
||||
IDS_WEIGHT_TONS_UK "טון (בריטניה)"
|
||||
IDS_WEIGHT_TONS_US "טון (ארצות הברית)"
|
||||
IDS_WEIGHT_TONS_UK "טון (ארצות הברית)"
|
||||
IDS_WEIGHT_TONS_US "טון (בריטניה)"
|
||||
END
|
||||
|
@@ -437,8 +437,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Fok"
|
||||
IDS_ANGLE_GRADIANS "Gradián"
|
||||
IDS_ANGLE_RADIANS "Radián"
|
||||
@@ -501,15 +499,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Cseh korona"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Német márka"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Holland gulden"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euró"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finn márka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Francia frank"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Görög drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Ír font"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Olasz líra"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburgi frank"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Máltai líra"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugál escudo"
|
||||
|
@@ -1,716 +0,0 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Calc
|
||||
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
|
||||
* PURPOSE: Indonesian resource file
|
||||
* TRANSLATORS: Copyright 2022 Wilson Simanjuntak <wilsontulus5@gmail.com>
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
|
||||
|
||||
/* Dialogs */
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Kalkulator ReactOS"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
|
||||
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
|
||||
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
|
||||
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
|
||||
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
|
||||
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
|
||||
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
|
||||
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
|
||||
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
|
||||
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 150, 21, 38, 10
|
||||
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 190, 21, 38, 10
|
||||
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 230, 21, 38, 10
|
||||
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 270, 21, 38, 10
|
||||
CONTROL "Derajat", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
|
||||
CONTROL "Radian", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
|
||||
CONTROL "Gradian", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Kembali", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Kalkulator ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Kembali", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Kalkulator ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "Konversi", IDC_BUTTON_CONVERT, 35, 105, 76, 17
|
||||
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Kategori:", IDC_STATIC, 5, 20, 56, 8
|
||||
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Konversikan dari:", IDC_STATIC, 5, 49, 56, 8
|
||||
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Konversikan ke:", IDC_STATIC, 5, 76, 56, 8
|
||||
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
|
||||
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
|
||||
CONTROL "Kembali", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
|
||||
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
|
||||
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
|
||||
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
|
||||
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
|
||||
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
|
||||
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
|
||||
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
|
||||
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
|
||||
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
|
||||
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
|
||||
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
|
||||
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
|
||||
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
|
||||
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
|
||||
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
|
||||
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
|
||||
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
|
||||
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
|
||||
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
|
||||
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
|
||||
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
|
||||
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
|
||||
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Kotak statistik"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
|
||||
PUSHBUTTON "LOAD", IDC_BUTTON_LOAD, 44, 48, 36, 16
|
||||
PUSHBUTTON "CD", IDC_BUTTON_CD, 84, 48, 36, 16
|
||||
PUSHBUTTON "CAD", IDC_BUTTON_CAD, 124, 48, 36, 16
|
||||
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
|
||||
END
|
||||
|
||||
/* Menus */
|
||||
|
||||
IDR_MENU_SCIENTIFIC_1 MENU
|
||||
BEGIN
|
||||
POPUP "&Ubah"
|
||||
BEGIN
|
||||
MENUITEM "&Salin\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "&Tempel\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "&Lihat"
|
||||
BEGIN
|
||||
MENUITEM "S&tandar", IDM_VIEW_STANDARD
|
||||
MENUITEM "&Ilmiah", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "K&onversi", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "&Desimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "&Oktal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "&Biner\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "D&erajat\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "&Radian\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "&Gradian\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Grup d&igit", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "&Bantuan"
|
||||
BEGIN
|
||||
MENUITEM "&Topik Bantuan", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Tentang Kalkulator ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_SCIENTIFIC_2 MENU
|
||||
BEGIN
|
||||
POPUP "&Ubah"
|
||||
BEGIN
|
||||
MENUITEM "&Salin\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "&Tempel\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "&Lihat"
|
||||
BEGIN
|
||||
MENUITEM "S&tandar", IDM_VIEW_STANDARD
|
||||
MENUITEM "&Ilmiah", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "K&onversi", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "&Desimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "&Oktal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "&Biner\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Qword\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "&Dword\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "&Word\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "B&yte\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Grup d&igit", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "&Bantuan"
|
||||
BEGIN
|
||||
MENUITEM "&Topik Bantuan", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Tentang Kalkulator ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_STANDARD MENU
|
||||
BEGIN
|
||||
POPUP "&Ubah"
|
||||
BEGIN
|
||||
MENUITEM "&Salin\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "&Tempel\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "&Lihat"
|
||||
BEGIN
|
||||
MENUITEM "S&tandar", IDM_VIEW_STANDARD
|
||||
MENUITEM "&Ilmiah", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "K&onversi", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Grup d&igit", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "&Bantuan"
|
||||
BEGIN
|
||||
MENUITEM "&Topik Bantuan", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Tentang Kalkulator ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
/* String Tables */
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MATH_ERROR "Kesalahan"
|
||||
IDS_QUICKHELP "Bantuan cepat"
|
||||
END
|
||||
|
||||
/* About */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CALC_NAME "Kalkulator ReactOS"
|
||||
IDS_AUTHOR "Dibuat oleh Carlo Bramini"
|
||||
END
|
||||
|
||||
/* Types of conversion */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONV_ANGLE "Sudut"
|
||||
IDS_CONV_AREA "Area"
|
||||
IDS_CONV_CONSUMPTION "Konsumsi (mesin)"
|
||||
IDS_CONV_CURRENCY "Mata Uang"
|
||||
IDS_CONV_ENERGY "Energi"
|
||||
IDS_CONV_LENGTH "Panjang"
|
||||
IDS_CONV_POWER "Daya"
|
||||
IDS_CONV_PRESSURE "Tekanan"
|
||||
IDS_CONV_TEMPERATURE "Suhu"
|
||||
IDS_CONV_TIME "Waktu"
|
||||
IDS_CONV_VELOCITY "Kecepatan"
|
||||
IDS_CONV_VOLUME "Volume"
|
||||
IDS_CONV_WEIGHT "Berat"
|
||||
END
|
||||
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Busur menit"
|
||||
IDS_ANGLE_ARCSECONDS "Busur detik"
|
||||
IDS_ANGLE_DEGREES "Derajat"
|
||||
IDS_ANGLE_GRADIANS "Gradian"
|
||||
IDS_ANGLE_RADIANS "Radian"
|
||||
END
|
||||
|
||||
/* Areas */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AREA_ACRES "Hektar"
|
||||
IDS_AREA_ACRES_BRAZIL "Hektar (Brazil)"
|
||||
IDS_AREA_ACRES_FRANCE "Hektar (Perancis)"
|
||||
IDS_AREA_ACRES_SCOTS "Hektar (Skotlandia)"
|
||||
IDS_AREA_ACRES_US "Hektar (US)"
|
||||
IDS_AREA_ARES "Ares"
|
||||
IDS_AREA_CHOU "Chou"
|
||||
IDS_AREA_DANBO "Danbo"
|
||||
IDS_AREA_HECTARES "Hektar"
|
||||
IDS_AREA_JEONGBO "Jeongbo"
|
||||
IDS_AREA_MORGEN_HUNGARY "Morgen (Hungaria)"
|
||||
IDS_AREA_MU "Mu"
|
||||
IDS_AREA_PING "Ping"
|
||||
IDS_AREA_PYEONG "Pyeong"
|
||||
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
|
||||
IDS_AREA_RAI "Rai"
|
||||
IDS_AREA_SE "Se"
|
||||
IDS_AREA_SQUARE_CENTIMETERS "Centimeter persegi"
|
||||
IDS_AREA_SQUARE_CHR "Chr persegi"
|
||||
IDS_AREA_SQUARE_FATHOMS "Fathom persegi"
|
||||
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Fathom persegi (Hungaria)"
|
||||
IDS_AREA_SQUARE_FEET "Kaki persegi"
|
||||
IDS_AREA_SQUARE_INCHES "Inci persegi"
|
||||
IDS_AREA_SQUARE_KILOMETERS "Kilometer persegi"
|
||||
IDS_AREA_SQUARE_LAR "Lar persegi"
|
||||
IDS_AREA_SQUARE_METER "Meter persegi"
|
||||
IDS_AREA_SQUARE_MILES "Mil persegi"
|
||||
IDS_AREA_SQUARE_MILLIMETERS "Milimeter persegi"
|
||||
IDS_AREA_SQUARE_SHAKU "Shaku persegi"
|
||||
IDS_AREA_SQUARE_TSUEN "Tsuen persegi"
|
||||
IDS_AREA_SQUARE_VA "Va persegi"
|
||||
IDS_AREA_SQUARE_YARD "Yard persegi"
|
||||
IDS_AREA_TAN "Tan"
|
||||
IDS_AREA_TSUBO "Tsubo"
|
||||
END
|
||||
|
||||
/* Consumptions */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONSUMPTION_KM_PER_L "Kilometer/liter"
|
||||
IDS_CONSUMPTION_L_PER_100_KM "Liter/100 kilometer"
|
||||
IDS_CONSUMPTION_MILES_GALLON_UK "Mil/galon (UK)"
|
||||
IDS_CONSUMPTION_MILES_GALLON_US "Mil/galon (US)"
|
||||
END
|
||||
|
||||
/* Currencies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CURRENCY_AUSTRIAN_SCHILLING "Schilling Austria"
|
||||
IDS_CURRENCY_BELGIAN_FRANC "Franc Belgia"
|
||||
IDS_CURRENCY_CYPRIOT_POUND "Pound Siprus"
|
||||
IDS_CURRENCY_CZECH_KORUNA "Koruna Ceko"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Mark Jerman"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Gulden Belanda"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Kroon Estonia"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Markka Finlandia"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franc Perancis"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Drakhma Yunani"
|
||||
IDS_CURRENCY_IRISH_POUND "Pound Irlandia"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Lira Italia"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Lats Latvia"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Litas Lithuania"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc Luksemburg"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Lira Malta"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo Portugis"
|
||||
IDS_CURRENCY_SLOVAK_KORUNA "Koruna Slovakia"
|
||||
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar Slovenia"
|
||||
IDS_CURRENCY_SPANISH_PESETA "Peseta Spanyol"
|
||||
END
|
||||
|
||||
/* Energies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ENERGY_15_C_CALORIES "15 °C Kalori"
|
||||
IDS_ENERGY_BTUS "British Thermal Unit"
|
||||
IDS_ENERGY_ERGS "Erg"
|
||||
IDS_ENERGY_EVS "Voltase elektron"
|
||||
IDS_ENERGY_FOOT_POUNDS "Pon kaki"
|
||||
IDS_ENERGY_IT_CALORIES "Tabel Kalori Internasional"
|
||||
IDS_ENERGY_IT_KILOCALORIES "Tabel Kilokalori Internasional"
|
||||
IDS_ENERGY_JOULES "Joule"
|
||||
IDS_ENERGY_KILOJOULES "Kilojoule"
|
||||
IDS_ENERGY_KILOWATT_HOURS "Kilowatt per jam"
|
||||
IDS_ENERGY_NUTRITION_CALORIES "Kalori pangan"
|
||||
IDS_ENERGY_TH_CALORIES "Kalori termokimia"
|
||||
END
|
||||
|
||||
/* Lengths */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LENGTH_ANGSTROMS "Ångström"
|
||||
IDS_LENGTH_ASTRONOMICAL_UNITS "Satuan astronomi"
|
||||
IDS_LENGTH_BARLEYCORNS "Barleycorn"
|
||||
IDS_LENGTH_CENTIMETERS "Centimeter"
|
||||
IDS_LENGTH_CHAINS_UK "Rantai (UK)"
|
||||
IDS_LENGTH_CHI "Chi"
|
||||
IDS_LENGTH_CHOU "Chou"
|
||||
IDS_LENGTH_CHR "Chr"
|
||||
IDS_LENGTH_CUN "Cun"
|
||||
IDS_LENGTH_FATHOMS "Fathom"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "Fathom (Hungaria)"
|
||||
IDS_LENGTH_FEET "Kaki"
|
||||
IDS_LENGTH_FURLONGS "Furlong"
|
||||
IDS_LENGTH_GAN "Gan"
|
||||
IDS_LENGTH_HANDS "Tangan"
|
||||
IDS_LENGTH_HUNH "Hunh"
|
||||
IDS_LENGTH_INCHES "Inci"
|
||||
IDS_LENGTH_JA "Ja"
|
||||
IDS_LENGTH_JEONG "Jeong"
|
||||
IDS_LENGTH_KABIET "Kabiet"
|
||||
IDS_LENGTH_KEN "Ken"
|
||||
IDS_LENGTH_KEUB "Keub"
|
||||
IDS_LENGTH_KILOMETERS "Kilometer"
|
||||
IDS_LENGTH_LAR "Lar"
|
||||
IDS_LENGTH_LIGHT_YEARS "Tahun cahaya"
|
||||
IDS_LENGTH_LINKS_UK "Link (UK)"
|
||||
IDS_LENGTH_METERS "Meter"
|
||||
IDS_LENGTH_MICRONS "Mikron"
|
||||
IDS_LENGTH_MILES "Mil"
|
||||
IDS_LENGTH_MILLIMETERS "Milimeter"
|
||||
IDS_LENGTH_NAUTICAL_MILES "Mil laut"
|
||||
IDS_LENGTH_NIEU "Nieu"
|
||||
IDS_LENGTH_PARSECS "Parsec"
|
||||
IDS_LENGTH_PICAS "Pica"
|
||||
IDS_LENGTH_RI_JAPAN "Ri (Jepang)"
|
||||
IDS_LENGTH_RI_KOREA "Ri (Korea)"
|
||||
IDS_LENGTH_RODS "Rod"
|
||||
IDS_LENGTH_SAWK "Sawk"
|
||||
IDS_LENGTH_SEN "Sen"
|
||||
IDS_LENGTH_SHAKU "Shaku"
|
||||
IDS_LENGTH_SPAN "Jengkal"
|
||||
IDS_LENGTH_SUN "Sun"
|
||||
IDS_LENGTH_TSUEN "Tsuen"
|
||||
IDS_LENGTH_VA "Va"
|
||||
IDS_LENGTH_YARDS "Yard"
|
||||
IDS_LENGTH_YOTE "Yote"
|
||||
IDS_LENGTH_ZHANG "Zhang"
|
||||
END
|
||||
|
||||
/* Powers */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_POWER_BTUS_PER_MINUTE "British Thermal Unit per menit"
|
||||
IDS_POWER_FPS_PER_MINUTE "Pon Kaki per menit"
|
||||
IDS_POWER_HORSEPOWER "Tenaga kuda"
|
||||
IDS_POWER_KILOWATTS "Kilowatt"
|
||||
IDS_POWER_MEGAWATTS "Megawatt"
|
||||
IDS_POWER_WATTS "Watt"
|
||||
END
|
||||
|
||||
/* Pressures */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PRESSURE_ATMOSPHERES "Atmosfir"
|
||||
IDS_PRESSURE_BARS "Bar"
|
||||
IDS_PRESSURE_HECTOPASCALS "Hektopascal"
|
||||
IDS_PRESSURE_KILOPASCALS "Kilopascal"
|
||||
IDS_PRESSURE_MM_OF_MERCURY "Milimeter merkuri"
|
||||
IDS_PRESSURE_PASCALS "Pascal"
|
||||
IDS_PRESSURE_PSI "Pon per inci persegi"
|
||||
END
|
||||
|
||||
/* Temperatures */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TEMPERATURE_CELSIUS "Celsius"
|
||||
IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
|
||||
IDS_TEMPERATURE_KELVIN "Kelvin"
|
||||
IDS_TEMPERATURE_RANKINE "Rankine"
|
||||
END
|
||||
|
||||
/* Time */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TIME_DAYS "Hari"
|
||||
IDS_TIME_HOURS "Jam"
|
||||
IDS_TIME_NANOSECONDS "Nanodetik"
|
||||
IDS_TIME_MICROSECONDS "Mikrodetik"
|
||||
IDS_TIME_MILLISECONDS "Milidetik"
|
||||
IDS_TIME_MINUTES "Menit"
|
||||
IDS_TIME_SECONDS "Detik"
|
||||
IDS_TIME_WEEKS "Minggu"
|
||||
IDS_TIME_YEARS "Tahun"
|
||||
END
|
||||
|
||||
/* Velocities */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VELOCITY_CMS_SECOND "Centimeter/jam"
|
||||
IDS_VELOCITY_FEET_HOUR "Kaki/jam"
|
||||
IDS_VELOCITY_FEET_SECOND "Kaki/detik"
|
||||
IDS_VELOCITY_KILOMETERS_HOUR "Kilometer/jam"
|
||||
IDS_VELOCITY_KNOTS "Knot"
|
||||
IDS_VELOCITY_MACH "Mach"
|
||||
IDS_VELOCITY_METERS_SECOND "Meter/detik"
|
||||
IDS_VELOCITY_MILES_HOUR "Mil/jam"
|
||||
END
|
||||
|
||||
/* Volumes */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VOLUME_BARRELS_UK "Barel (UK)"
|
||||
IDS_VOLUME_BARRELS_OIL "Barel minyak"
|
||||
IDS_VOLUME_BUN "Bun"
|
||||
IDS_VOLUME_BUSHELS_UK "Bushel (UK)"
|
||||
IDS_VOLUME_BUSHELS_US "Bushel (US)"
|
||||
IDS_VOLUME_CUBIC_CENTIMETERS "Centimeter kubik"
|
||||
IDS_VOLUME_CUBIC_FEET "Kaki kubik"
|
||||
IDS_VOLUME_CUBIC_INCHES "Inci Kubik"
|
||||
IDS_VOLUME_CUBIC_METERS "Meter kubik"
|
||||
IDS_VOLUME_CUBIC_YARDS "Yard kubik"
|
||||
IDS_VOLUME_DOE "Doe"
|
||||
IDS_VOLUME_FLUID_OUNCES_UK "Ons cairan (UK)"
|
||||
IDS_VOLUME_FLUID_OUNCES_US "Ons cairan (US)"
|
||||
IDS_VOLUME_GALLONS_UK "Galon (UK)"
|
||||
IDS_VOLUME_GALLONS_DRY_US "Galon, beku (US)"
|
||||
IDS_VOLUME_GALLONS_LIQUID_US "Galon, cair (US)"
|
||||
IDS_VOLUME_GOU "Gou"
|
||||
IDS_VOLUME_HOP "Hop"
|
||||
IDS_VOLUME_ICCE "Icce"
|
||||
IDS_VOLUME_KWIAN "Kwian"
|
||||
IDS_VOLUME_LITERS "Liter"
|
||||
IDS_VOLUME_MAL "Mal"
|
||||
IDS_VOLUME_MILLILITERS "Mililiter"
|
||||
IDS_VOLUME_PINTS_UK "Pint (UK)"
|
||||
IDS_VOLUME_PINTS_DRY_US "Pint, beku (US)"
|
||||
IDS_VOLUME_PINTS_LIQUID_US "Pint, cair (US)"
|
||||
IDS_VOLUME_QUARTS_UK "Quart (UK)"
|
||||
IDS_VOLUME_QUARTS_DRY_US "Quart, beku (US)"
|
||||
IDS_VOLUME_QUARTS_LIQUID_US "Quart, cair (US)"
|
||||
IDS_VOLUME_SEKI "Seki"
|
||||
IDS_VOLUME_SYOU "Syou"
|
||||
IDS_VOLUME_TANANLOUNG "Tananloung"
|
||||
IDS_VOLUME_TANG "Tang"
|
||||
IDS_VOLUME_TO "To"
|
||||
END
|
||||
|
||||
/* Weights */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_WEIGHT_BAHT "Baht"
|
||||
IDS_WEIGHT_CARATS "Karat"
|
||||
IDS_WEIGHT_CHUNG "Chung"
|
||||
IDS_WEIGHT_DON "Don"
|
||||
IDS_WEIGHT_GEUN "Geun"
|
||||
IDS_WEIGHT_GRAMS "Gram"
|
||||
IDS_WEIGHT_GWAN "Gwan"
|
||||
IDS_WEIGHT_HARB "Harb"
|
||||
IDS_WEIGHT_JIN_CHINA "Jin (China)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
|
||||
IDS_WEIGHT_KAN "Kan"
|
||||
IDS_WEIGHT_KILOGRAMS "Kilogram"
|
||||
IDS_WEIGHT_KIN "Kin"
|
||||
IDS_WEIGHT_LIANG_CHINA "Liang (China)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
|
||||
IDS_WEIGHT_MONME "Monme"
|
||||
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Ons, avoirdupois"
|
||||
IDS_WEIGHT_OUNCES_TROY "Ons, troy"
|
||||
IDS_WEIGHT_POUNDS "Pon"
|
||||
IDS_WEIGHT_QUINTAL_METRIC "Kuintal (metrik)"
|
||||
IDS_WEIGHT_SALOUNG "Saloung"
|
||||
IDS_WEIGHT_STONES "Batu"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
IDS_WEIGHT_TONNES "Tonne"
|
||||
IDS_WEIGHT_TONS_UK "Ton (UK)"
|
||||
IDS_WEIGHT_TONS_US "Ton (US)"
|
||||
END
|
@@ -429,8 +429,6 @@ END
|
||||
/* Tipi di angoli */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minuti d'arco"
|
||||
IDS_ANGLE_ARCSECONDS "Secondi d'arco"
|
||||
IDS_ANGLE_DEGREES "Sessagesimali"
|
||||
IDS_ANGLE_GRADIANS "Centesimali (Gradienti)"
|
||||
IDS_ANGLE_RADIANS "Radianti"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Corona ceca"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Marco tedesco"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Fiorino olandese"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Markka finlandese"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franco francese"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Dracma greca"
|
||||
IDS_CURRENCY_IRISH_POUND "Sterlina irlandese"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Lira italiana"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco Lussemburghese"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Lira maltese"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portoghese"
|
||||
|
@@ -429,8 +429,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Degrees"
|
||||
IDS_ANGLE_GRADIANS "Gradians"
|
||||
IDS_ANGLE_RADIANS "Radians"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "チェコ コルナ"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "ドイツ マルク"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "オランダ ギルダー"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "ユーロ"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "フィンランド マルッカ"
|
||||
IDS_CURRENCY_FRENCH_FRANC "フランス フラン"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "ギリシャ ドラクマ"
|
||||
IDS_CURRENCY_IRISH_POUND "アイルランド ポンド"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "イタリア リラ"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "ルクセンブルク フラン"
|
||||
IDS_CURRENCY_MALTESE_LIRA "マルタ リラ"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "ポルトガル エスクード"
|
||||
|
@@ -8,7 +8,7 @@ IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 계산기"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 9, "굴림", 0, 0, 0x1
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
|
||||
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
|
||||
@@ -156,7 +156,7 @@ IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 계산기"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 9, "굴림", 0, 0, 0x1
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -221,7 +221,7 @@ IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 계산기 정보"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 9, "굴림"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "Convert", IDC_BUTTON_CONVERT, 35, 105, 76, 17
|
||||
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
@@ -295,7 +295,7 @@ END
|
||||
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Statistics box"
|
||||
FONT 9, "굴림"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
|
||||
@@ -431,8 +431,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Degrees"
|
||||
IDS_ANGLE_GRADIANS "Gradians"
|
||||
IDS_ANGLE_RADIANS "Radians"
|
||||
@@ -495,15 +493,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Czech koruna"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "French franc"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Greek Drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Irish pound"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"
|
||||
|
@@ -429,8 +429,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Graden"
|
||||
IDS_ANGLE_GRADIANS "Gradiënten"
|
||||
IDS_ANGLE_RADIANS "Radialen"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Tsjechische kroon"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Duitse Mark"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Nederlandse gulden"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finse markka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franse franc"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Griekse Drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Ierse pound"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italiaanse lira"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburgse franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugese escudo"
|
||||
|
@@ -429,8 +429,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Grader"
|
||||
IDS_ANGLE_GRADIANS "Gradianer"
|
||||
IDS_ANGLE_RADIANS "Radianer"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Tsjekkisk koruna"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Tusk Mark"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Nederlansk guilder"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finisk markka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Fransk franc"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Gresk Drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Irisk pound"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italiask lira"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltesisk lira"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portogisisk escudo"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Translated by Caemyr - Olaf Siejka (Feb, Jun 2008)
|
||||
* Use ReactOS forum PM or IRC to contact me
|
||||
* https://reactos.org
|
||||
* http://www.reactos.org
|
||||
* IRC: irc.freenode.net #reactos-pl;
|
||||
* Updated by Saibamen - Adam Stachowicz (saibamenppl@gmail.com) (Apr, 2011)
|
||||
* UTF-8 conversion by Caemyr (May, 2011)
|
||||
@@ -438,8 +438,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minuty kątowe"
|
||||
IDS_ANGLE_ARCSECONDS "Sekundy kątowe"
|
||||
IDS_ANGLE_DEGREES "Stopnie"
|
||||
IDS_ANGLE_GRADIANS "Gradiany"
|
||||
IDS_ANGLE_RADIANS "Radiany"
|
||||
@@ -502,15 +500,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Czeska korona"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Niemiecka marka"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Holenderki gulden"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estońska korona"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Fińska marka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Francuski frank"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Grecka drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Irlandzki funt"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Włoskie liry"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Łotewski łat"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Litewski lit"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luksemburski frank"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltańskie liry"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalskie escudo"
|
||||
@@ -523,7 +518,7 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ENERGY_15_C_CALORIES "15 °C kalorie"
|
||||
IDS_ENERGY_BTUS "Jednostki BTU"
|
||||
IDS_ENERGY_BTUS "British Thermal Unit"
|
||||
IDS_ENERGY_ERGS "Ergi"
|
||||
IDS_ENERGY_EVS "Elektronowolty"
|
||||
IDS_ENERGY_FOOT_POUNDS "Stopo-funty"
|
||||
@@ -543,7 +538,7 @@ BEGIN
|
||||
IDS_LENGTH_ASTRONOMICAL_UNITS "Jednostki Astronomiczne"
|
||||
IDS_LENGTH_BARLEYCORNS "Palce"
|
||||
IDS_LENGTH_CENTIMETERS "Centymetry"
|
||||
IDS_LENGTH_CHAINS_UK "Łańcuchy (UK)"
|
||||
IDS_LENGTH_CHAINS_UK "Chains (UK)"
|
||||
IDS_LENGTH_CHI "Chi"
|
||||
IDS_LENGTH_CHOU "Chou"
|
||||
IDS_LENGTH_CHR "Chr"
|
||||
@@ -551,7 +546,7 @@ BEGIN
|
||||
IDS_LENGTH_FATHOMS "Sążnie"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "Sążnie (Węgry)"
|
||||
IDS_LENGTH_FEET "Stopy"
|
||||
IDS_LENGTH_FURLONGS "Furlongi"
|
||||
IDS_LENGTH_FURLONGS "Furlongs"
|
||||
IDS_LENGTH_GAN "Gan"
|
||||
IDS_LENGTH_HANDS "Dłonie"
|
||||
IDS_LENGTH_HUNH "Hunh"
|
||||
@@ -564,7 +559,7 @@ BEGIN
|
||||
IDS_LENGTH_KILOMETERS "Kilometry"
|
||||
IDS_LENGTH_LAR "Lar"
|
||||
IDS_LENGTH_LIGHT_YEARS "Lata świetlne"
|
||||
IDS_LENGTH_LINKS_UK "Linki (UK)"
|
||||
IDS_LENGTH_LINKS_UK "Links (UK)"
|
||||
IDS_LENGTH_METERS "Metry"
|
||||
IDS_LENGTH_MICRONS "Mikrometry"
|
||||
IDS_LENGTH_MILES "Mile"
|
||||
@@ -573,13 +568,13 @@ BEGIN
|
||||
IDS_LENGTH_NIEU "Nieu"
|
||||
IDS_LENGTH_PARSECS "Parseki"
|
||||
IDS_LENGTH_PICAS "Picas"
|
||||
IDS_LENGTH_RI_JAPAN "Ri (Japonia)"
|
||||
IDS_LENGTH_RI_JAPAN "Ri (Japan)"
|
||||
IDS_LENGTH_RI_KOREA "Ri (Korea)"
|
||||
IDS_LENGTH_RODS "Pręty"
|
||||
IDS_LENGTH_RODS "Rods"
|
||||
IDS_LENGTH_SAWK "Sawk"
|
||||
IDS_LENGTH_SEN "Sen"
|
||||
IDS_LENGTH_SHAKU "Shaku"
|
||||
IDS_LENGTH_SPAN "Piędź"
|
||||
IDS_LENGTH_SPAN "Span"
|
||||
IDS_LENGTH_SUN "Sun"
|
||||
IDS_LENGTH_TSUEN "Tsuen"
|
||||
IDS_LENGTH_VA "Va"
|
||||
@@ -697,22 +692,22 @@ BEGIN
|
||||
IDS_WEIGHT_GRAMS "Gramy"
|
||||
IDS_WEIGHT_GWAN "Gwan"
|
||||
IDS_WEIGHT_HARB "Harb"
|
||||
IDS_WEIGHT_JIN_CHINA "Jin (Chiny)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "Jin (Tajwan)"
|
||||
IDS_WEIGHT_JIN_CHINA "Jin (China)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
|
||||
IDS_WEIGHT_KAN "Kan"
|
||||
IDS_WEIGHT_KILOGRAMS "Kilogramy"
|
||||
IDS_WEIGHT_KIN "Kin"
|
||||
IDS_WEIGHT_LIANG_CHINA "Liang (Chiny)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "Liang (Tajwan)"
|
||||
IDS_WEIGHT_LIANG_CHINA "Liang (China)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
|
||||
IDS_WEIGHT_MONME "Monme"
|
||||
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Uncje, avoirdupois"
|
||||
IDS_WEIGHT_OUNCES_TROY "Uncje, aptekarskie"
|
||||
IDS_WEIGHT_POUNDS "Funty"
|
||||
IDS_WEIGHT_QUINTAL_METRIC "Kwintale"
|
||||
IDS_WEIGHT_SALOUNG "Saloung"
|
||||
IDS_WEIGHT_STONES "Kamienie"
|
||||
IDS_WEIGHT_STONES "Kamieni"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
IDS_WEIGHT_TONNES "Tony"
|
||||
IDS_WEIGHT_TONS_UK "Tony (UK)"
|
||||
IDS_WEIGHT_TONS_US "Tony (US)"
|
||||
IDS_WEIGHT_TONNES "Ton"
|
||||
IDS_WEIGHT_TONS_UK "Ton (UK)"
|
||||
IDS_WEIGHT_TONS_US "Ton (US)"
|
||||
END
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* Translation and UTF-8 Conversion by mkbu95 <mkbu95@gmail.com> (August, 2011) */
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
|
||||
|
||||
/* Dialogs */
|
||||
|
||||
@@ -431,8 +431,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Graus"
|
||||
IDS_ANGLE_GRADIANS "Grados"
|
||||
IDS_ANGLE_RADIANS "Radianos"
|
||||
@@ -495,15 +493,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Coroa checa"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Marco alemão"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Florim neerlandês"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Marco finlandês"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franco francês"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Dracma"
|
||||
IDS_CURRENCY_IRISH_POUND "Libra irlandesa"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Lira italiana"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburguês"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Lira maltesa"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo português"
|
||||
|
@@ -1,711 +0,0 @@
|
||||
/* Translation and UTF-8 Conversion by Gabriel Aguiar <fgygh5804@gmail.com,fgsoftwarestudio@gmail.com> (July, 2021) */
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
|
||||
|
||||
/* Dialogs */
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Calculadora ReactOS"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
|
||||
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
|
||||
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
|
||||
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
|
||||
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
|
||||
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
|
||||
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
|
||||
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
|
||||
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
|
||||
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 150, 21, 38, 10
|
||||
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 190, 21, 38, 10
|
||||
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 230, 21, 38, 10
|
||||
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 270, 21, 38, 10
|
||||
CONTROL "Graus", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
|
||||
CONTROL "Radianos", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
|
||||
CONTROL "Grados", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Apagar", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Calculadora ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Apagar", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Calculadora ReactOS"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "Converter", IDC_BUTTON_CONVERT, 35, 105, 76, 17
|
||||
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Categoria:", IDC_STATIC, 5, 20, 56, 8
|
||||
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Converter de:", IDC_STATIC, 5, 49, 56, 8
|
||||
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Converter para:", IDC_STATIC, 5, 76, 56, 8
|
||||
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
|
||||
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
|
||||
CONTROL "Apagar", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
|
||||
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
|
||||
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
|
||||
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
|
||||
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
|
||||
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
|
||||
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
|
||||
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
|
||||
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
|
||||
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
|
||||
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
|
||||
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
|
||||
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
|
||||
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
|
||||
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
|
||||
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
|
||||
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
|
||||
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
|
||||
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
|
||||
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
|
||||
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
|
||||
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
|
||||
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
|
||||
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Caixa de estatísticas"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
|
||||
PUSHBUTTON "LOAD", IDC_BUTTON_LOAD, 44, 48, 36, 16
|
||||
PUSHBUTTON "CD", IDC_BUTTON_CD, 84, 48, 36, 16
|
||||
PUSHBUTTON "CAD", IDC_BUTTON_CAD, 124, 48, 36, 16
|
||||
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
|
||||
END
|
||||
|
||||
/* Menus */
|
||||
|
||||
IDR_MENU_SCIENTIFIC_1 MENU
|
||||
BEGIN
|
||||
POPUP "Editar"
|
||||
BEGIN
|
||||
MENUITEM "Copiar\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "Colar\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Visualizar"
|
||||
BEGIN
|
||||
MENUITEM "Padrão", IDM_VIEW_STANDARD
|
||||
MENUITEM "Científica", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "Conversão", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Binário\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Graus\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "Radianos\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "Grados\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Ajuda"
|
||||
BEGIN
|
||||
MENUITEM "Tópicos de ajuda", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sobre Calculadora ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_SCIENTIFIC_2 MENU
|
||||
BEGIN
|
||||
POPUP "Editar"
|
||||
BEGIN
|
||||
MENUITEM "Copiar\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "Colar\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Visualizar"
|
||||
BEGIN
|
||||
MENUITEM "Padrão", IDM_VIEW_STANDARD
|
||||
MENUITEM "Científica", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "Conversão", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "Binário\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "Byte\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Ajuda"
|
||||
BEGIN
|
||||
MENUITEM "Tópicos de ajuda", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sobre Calculadora ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_STANDARD MENU
|
||||
BEGIN
|
||||
POPUP "Editar"
|
||||
BEGIN
|
||||
MENUITEM "Copiar\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "Colar\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "Visualizar"
|
||||
BEGIN
|
||||
MENUITEM "Padrão", IDM_VIEW_STANDARD
|
||||
MENUITEM "Científica", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "Conversão", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "Ajuda"
|
||||
BEGIN
|
||||
MENUITEM "Tópicos de ajuda", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Sobre Calculadora ReactOS", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
/* String Tables */
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MATH_ERROR "Erro"
|
||||
IDS_QUICKHELP "Ajuda rápida"
|
||||
END
|
||||
|
||||
/* About */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CALC_NAME "Calcuadora ReactOS"
|
||||
IDS_AUTHOR "Escrita por Carlo Bramini"
|
||||
END
|
||||
|
||||
/* Types of conversion */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONV_ANGLE "Ângulo"
|
||||
IDS_CONV_AREA "Área"
|
||||
IDS_CONV_CONSUMPTION "Consumo (veículos)"
|
||||
IDS_CONV_CURRENCY "Monetária"
|
||||
IDS_CONV_ENERGY "Energia"
|
||||
IDS_CONV_LENGTH "Distância"
|
||||
IDS_CONV_POWER "Potência"
|
||||
IDS_CONV_PRESSURE "Pressão"
|
||||
IDS_CONV_TEMPERATURE "Temperatura"
|
||||
IDS_CONV_TIME "Tempo"
|
||||
IDS_CONV_VELOCITY "Velocidade"
|
||||
IDS_CONV_VOLUME "Volume"
|
||||
IDS_CONV_WEIGHT "Peso"
|
||||
END
|
||||
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Graus"
|
||||
IDS_ANGLE_GRADIANS "Grados"
|
||||
IDS_ANGLE_RADIANS "Radianos"
|
||||
END
|
||||
|
||||
/* Areas */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AREA_ACRES "Acres"
|
||||
IDS_AREA_ACRES_BRAZIL "Acres (Brasil)"
|
||||
IDS_AREA_ACRES_FRANCE "Acres (França)"
|
||||
IDS_AREA_ACRES_SCOTS "Acres (Escócia)"
|
||||
IDS_AREA_ACRES_US "Acres (EUA)"
|
||||
IDS_AREA_ARES "Ares"
|
||||
IDS_AREA_CHOU "Chou"
|
||||
IDS_AREA_DANBO "Danbo"
|
||||
IDS_AREA_HECTARES "Hectares"
|
||||
IDS_AREA_JEONGBO "Jeongbo"
|
||||
IDS_AREA_MORGEN_HUNGARY "Morgen (Hungária)"
|
||||
IDS_AREA_MU "Mu"
|
||||
IDS_AREA_PING "Ping"
|
||||
IDS_AREA_PYEONG "Pyeong"
|
||||
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
|
||||
IDS_AREA_RAI "Rai"
|
||||
IDS_AREA_SE "Se"
|
||||
IDS_AREA_SQUARE_CENTIMETERS "Centímetros quadrados"
|
||||
IDS_AREA_SQUARE_CHR "Chr quadradas"
|
||||
IDS_AREA_SQUARE_FATHOMS "Braças quadradas"
|
||||
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Braças quadradas (Hungária)"
|
||||
IDS_AREA_SQUARE_FEET "Pés quadrados"
|
||||
IDS_AREA_SQUARE_INCHES "Polegadas quadradas"
|
||||
IDS_AREA_SQUARE_KILOMETERS "Quilômetros quadrados"
|
||||
IDS_AREA_SQUARE_LAR "Lar quadradas"
|
||||
IDS_AREA_SQUARE_METER "Metros quadrados"
|
||||
IDS_AREA_SQUARE_MILES "Milhas quadradas"
|
||||
IDS_AREA_SQUARE_MILLIMETERS "Milímetros quadrados"
|
||||
IDS_AREA_SQUARE_SHAKU "Shaku quadradas"
|
||||
IDS_AREA_SQUARE_TSUEN "Tsuen quadrados"
|
||||
IDS_AREA_SQUARE_VA "Va quadrados"
|
||||
IDS_AREA_SQUARE_YARD "Jardas quadradas"
|
||||
IDS_AREA_TAN "Tan"
|
||||
IDS_AREA_TSUBO "Tsubo"
|
||||
END
|
||||
|
||||
/* Consumptions */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONSUMPTION_KM_PER_L "Quilômetros/litro"
|
||||
IDS_CONSUMPTION_L_PER_100_KM "Litros/100 quilômetros"
|
||||
IDS_CONSUMPTION_MILES_GALLON_UK "Milhas/galão (UK)"
|
||||
IDS_CONSUMPTION_MILES_GALLON_US "Milhas/galão (EUA)"
|
||||
END
|
||||
|
||||
/* Currencies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CURRENCY_AUSTRIAN_SCHILLING "Xelim austríaco"
|
||||
IDS_CURRENCY_BELGIAN_FRANC "Franco belga"
|
||||
IDS_CURRENCY_CYPRIOT_POUND "Libra cipriota"
|
||||
IDS_CURRENCY_CZECH_KORUNA "Coroa checa"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Marco alemão"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Florim neerlandês"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Marco finlandês"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franco francês"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Dracma"
|
||||
IDS_CURRENCY_IRISH_POUND "Libra irlandesa"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Lira italiana"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburguês"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Lira maltesa"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo português"
|
||||
IDS_CURRENCY_SLOVAK_KORUNA "Coroa eslovaca"
|
||||
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar"
|
||||
IDS_CURRENCY_SPANISH_PESETA "Peseta"
|
||||
END
|
||||
|
||||
/* Energies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ENERGY_15_C_CALORIES "15 °C calorias"
|
||||
IDS_ENERGY_BTUS "British Thermal Unit"
|
||||
IDS_ENERGY_ERGS "Ergs (Cgs)"
|
||||
IDS_ENERGY_EVS "Elétron-volt"
|
||||
IDS_ENERGY_FOOT_POUNDS "Foot-Pounds"
|
||||
IDS_ENERGY_IT_CALORIES "Tabela Internacional de calorias"
|
||||
IDS_ENERGY_IT_KILOCALORIES "Tabela Internacional de quilocalorias"
|
||||
IDS_ENERGY_JOULES "Joules"
|
||||
IDS_ENERGY_KILOJOULES "Quilojoules"
|
||||
IDS_ENERGY_KILOWATT_HOURS "Quilowatt-hora"
|
||||
IDS_ENERGY_NUTRITION_CALORIES "Calorias nutritivas"
|
||||
IDS_ENERGY_TH_CALORIES "Caloria termoquímica"
|
||||
END
|
||||
|
||||
/* Lengths */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LENGTH_ANGSTROMS "Ångström"
|
||||
IDS_LENGTH_ASTRONOMICAL_UNITS "Unidade astronômica"
|
||||
IDS_LENGTH_BARLEYCORNS "Barleycorns"
|
||||
IDS_LENGTH_CENTIMETERS "Centímetros"
|
||||
IDS_LENGTH_CHAINS_UK "Correntes (UK)"
|
||||
IDS_LENGTH_CHI "Chi"
|
||||
IDS_LENGTH_CHOU "Chou"
|
||||
IDS_LENGTH_CHR "Chr"
|
||||
IDS_LENGTH_CUN "Cun"
|
||||
IDS_LENGTH_FATHOMS "Braças"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "Braças (Hungária)"
|
||||
IDS_LENGTH_FEET "Pés"
|
||||
IDS_LENGTH_FURLONGS "Furlongs"
|
||||
IDS_LENGTH_GAN "Gan"
|
||||
IDS_LENGTH_HANDS "Mãos"
|
||||
IDS_LENGTH_HUNH "Hunh"
|
||||
IDS_LENGTH_INCHES "Polegadas"
|
||||
IDS_LENGTH_JA "Ja"
|
||||
IDS_LENGTH_JEONG "Jeong"
|
||||
IDS_LENGTH_KABIET "Kabiet"
|
||||
IDS_LENGTH_KEN "Ken"
|
||||
IDS_LENGTH_KEUB "Keub"
|
||||
IDS_LENGTH_KILOMETERS "Quilômetors"
|
||||
IDS_LENGTH_LAR "Lar"
|
||||
IDS_LENGTH_LIGHT_YEARS "Anos-luz"
|
||||
IDS_LENGTH_LINKS_UK "Links (UK)"
|
||||
IDS_LENGTH_METERS "Metros"
|
||||
IDS_LENGTH_MICRONS "Micrômetro"
|
||||
IDS_LENGTH_MILES "Milhas"
|
||||
IDS_LENGTH_MILLIMETERS "Milímetros"
|
||||
IDS_LENGTH_NAUTICAL_MILES "Milhas náuticas"
|
||||
IDS_LENGTH_NIEU "Nieu"
|
||||
IDS_LENGTH_PARSECS "Parsecs"
|
||||
IDS_LENGTH_PICAS "Paicas"
|
||||
IDS_LENGTH_RI_JAPAN "Ri (Japão)"
|
||||
IDS_LENGTH_RI_KOREA "Ri (Coreia)"
|
||||
IDS_LENGTH_RODS "Varas"
|
||||
IDS_LENGTH_SAWK "Sawk"
|
||||
IDS_LENGTH_SEN "Sen"
|
||||
IDS_LENGTH_SHAKU "Shaku"
|
||||
IDS_LENGTH_SPAN "Span"
|
||||
IDS_LENGTH_SUN "Sun"
|
||||
IDS_LENGTH_TSUEN "Tsuen"
|
||||
IDS_LENGTH_VA "Va"
|
||||
IDS_LENGTH_YARDS "Jardas"
|
||||
IDS_LENGTH_YOTE "Yote"
|
||||
IDS_LENGTH_ZHANG "Zhang"
|
||||
END
|
||||
|
||||
/* Powers */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_POWER_BTUS_PER_MINUTE "British Thermal Units por minuto"
|
||||
IDS_POWER_FPS_PER_MINUTE "Foot-Pounds por minuto"
|
||||
IDS_POWER_HORSEPOWER "Cavalos de potência"
|
||||
IDS_POWER_KILOWATTS "Quilowatts"
|
||||
IDS_POWER_MEGAWATTS "Megawatts"
|
||||
IDS_POWER_WATTS "Watts"
|
||||
END
|
||||
|
||||
/* Pressures */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PRESSURE_ATMOSPHERES "Atmosferas"
|
||||
IDS_PRESSURE_BARS "Bars"
|
||||
IDS_PRESSURE_HECTOPASCALS "Hectopascais"
|
||||
IDS_PRESSURE_KILOPASCALS "Quilopascais"
|
||||
IDS_PRESSURE_MM_OF_MERCURY "Milímetros de mercúrio"
|
||||
IDS_PRESSURE_PASCALS "Pascais"
|
||||
IDS_PRESSURE_PSI "Pounds-force per square inch (PSI)"
|
||||
END
|
||||
|
||||
/* Temperatures */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TEMPERATURE_CELSIUS "Celsius"
|
||||
IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
|
||||
IDS_TEMPERATURE_KELVIN "Kelvin"
|
||||
IDS_TEMPERATURE_RANKINE "Rankine"
|
||||
END
|
||||
|
||||
/* Time */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TIME_DAYS "Dias"
|
||||
IDS_TIME_HOURS "Horas"
|
||||
IDS_TIME_NANOSECONDS "Nanosegundos"
|
||||
IDS_TIME_MICROSECONDS "Microsegundos"
|
||||
IDS_TIME_MILLISECONDS "Milisegundos"
|
||||
IDS_TIME_MINUTES "Minutos"
|
||||
IDS_TIME_SECONDS "Segundos"
|
||||
IDS_TIME_WEEKS "Semanas"
|
||||
IDS_TIME_YEARS "Anos"
|
||||
END
|
||||
|
||||
/* Velocities */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VELOCITY_CMS_SECOND "Centímetros/hora"
|
||||
IDS_VELOCITY_FEET_HOUR "Pés/hora"
|
||||
IDS_VELOCITY_FEET_SECOND "Pés/segundo"
|
||||
IDS_VELOCITY_KILOMETERS_HOUR "Quilômetros/hora"
|
||||
IDS_VELOCITY_KNOTS "Nós"
|
||||
IDS_VELOCITY_MACH "Mach"
|
||||
IDS_VELOCITY_METERS_SECOND "Metros/segundo"
|
||||
IDS_VELOCITY_MILES_HOUR "Milhas/hora"
|
||||
END
|
||||
|
||||
/* Volumes */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VOLUME_BARRELS_UK "Barris (UK)"
|
||||
IDS_VOLUME_BARRELS_OIL "Barris de petróleo"
|
||||
IDS_VOLUME_BUN "Bun"
|
||||
IDS_VOLUME_BUSHELS_UK "Celemim (UK)"
|
||||
IDS_VOLUME_BUSHELS_US "Celemim (EUA)"
|
||||
IDS_VOLUME_CUBIC_CENTIMETERS "Centímetros cúbicos"
|
||||
IDS_VOLUME_CUBIC_FEET "Pés cúbicos"
|
||||
IDS_VOLUME_CUBIC_INCHES "Polegadas cúbicas"
|
||||
IDS_VOLUME_CUBIC_METERS "Metros cúbicos"
|
||||
IDS_VOLUME_CUBIC_YARDS "Jardas cúbicas"
|
||||
IDS_VOLUME_DOE "Doe"
|
||||
IDS_VOLUME_FLUID_OUNCES_UK "Onças líquidas (UK)"
|
||||
IDS_VOLUME_FLUID_OUNCES_US "Onças líquidas (EUA)"
|
||||
IDS_VOLUME_GALLONS_UK "Galões (EUA)"
|
||||
IDS_VOLUME_GALLONS_DRY_US "Galões secos (EUA)"
|
||||
IDS_VOLUME_GALLONS_LIQUID_US "Galões líquidos (EUA)"
|
||||
IDS_VOLUME_GOU "Gou"
|
||||
IDS_VOLUME_HOP "Hop"
|
||||
IDS_VOLUME_ICCE "Icce"
|
||||
IDS_VOLUME_KWIAN "Kwian"
|
||||
IDS_VOLUME_LITERS "Litros"
|
||||
IDS_VOLUME_MAL "Mal"
|
||||
IDS_VOLUME_MILLILITERS "Milímetros"
|
||||
IDS_VOLUME_PINTS_UK "Pintos (UK)"
|
||||
IDS_VOLUME_PINTS_DRY_US "Pintos secos (EUA)"
|
||||
IDS_VOLUME_PINTS_LIQUID_US "Pints líquidos (EUA)"
|
||||
IDS_VOLUME_QUARTS_UK "Quartos (UK)"
|
||||
IDS_VOLUME_QUARTS_DRY_US "Quartos secos (EUA)"
|
||||
IDS_VOLUME_QUARTS_LIQUID_US "Quartos líquidos (EUA)"
|
||||
IDS_VOLUME_SEKI "Seki"
|
||||
IDS_VOLUME_SYOU "Syou"
|
||||
IDS_VOLUME_TANANLOUNG "Tananloung"
|
||||
IDS_VOLUME_TANG "Tang"
|
||||
IDS_VOLUME_TO "To"
|
||||
END
|
||||
|
||||
/* Weights */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_WEIGHT_BAHT "Baht"
|
||||
IDS_WEIGHT_CARATS "Quilate"
|
||||
IDS_WEIGHT_CHUNG "Chung"
|
||||
IDS_WEIGHT_DON "Don"
|
||||
IDS_WEIGHT_GEUN "Geun"
|
||||
IDS_WEIGHT_GRAMS "Gramas"
|
||||
IDS_WEIGHT_GWAN "Gwan"
|
||||
IDS_WEIGHT_HARB "Harb"
|
||||
IDS_WEIGHT_JIN_CHINA "Jin (China)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
|
||||
IDS_WEIGHT_KAN "Kan"
|
||||
IDS_WEIGHT_KILOGRAMS "Quilogramas"
|
||||
IDS_WEIGHT_KIN "Kin"
|
||||
IDS_WEIGHT_LIANG_CHINA "Liang (China)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
|
||||
IDS_WEIGHT_MONME "Monme"
|
||||
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Onças avoirdupois"
|
||||
IDS_WEIGHT_OUNCES_TROY "Onças troy"
|
||||
IDS_WEIGHT_POUNDS "Libras"
|
||||
IDS_WEIGHT_QUINTAL_METRIC "Quintal (métrico)"
|
||||
IDS_WEIGHT_SALOUNG "Saloung"
|
||||
IDS_WEIGHT_STONES "Pedras"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
IDS_WEIGHT_TONNES "Toneladas"
|
||||
IDS_WEIGHT_TONS_UK "Toneladas (UK)"
|
||||
IDS_WEIGHT_TONS_US "Toneladas (EUA)"
|
||||
END
|
@@ -1,10 +1,6 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Calc
|
||||
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
|
||||
* PURPOSE: Romanian resource file
|
||||
* TRANSLATORS: Copyright 2009 Petru Dimitriu <petrimetri@gmail.com>
|
||||
* Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
|
||||
* Copyright 2022 Andrei Miloiu <miloiuandrei@gmail.com>
|
||||
* Translators: Petru Dimitriu (petrimetri at gmail dot com)
|
||||
* Ștefan Fulea (stefan dot fulea at mail dot md)
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
|
||||
@@ -438,8 +434,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Grade"
|
||||
IDS_ANGLE_GRADIANS "Gradiani"
|
||||
IDS_ANGLE_RADIANS "Radiani"
|
||||
@@ -502,15 +496,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Coroană cehă"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Marcă nemțească"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Guilder olandez"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Coroană estoniană"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Marcă finlandeză"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franc francez"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franc framcez"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Drahmă grecească"
|
||||
IDS_CURRENCY_IRISH_POUND "Liră irlandeză"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Liră italiană"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Lats leton"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Litas lituanian"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Franc luxemburghez"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Litră malteză"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portughez"
|
||||
|
@@ -429,8 +429,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "градус"
|
||||
IDS_ANGLE_GRADIANS "град"
|
||||
IDS_ANGLE_RADIANS "радиан"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Чешская крона"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Немецкая марка"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Голландский гульден"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Эстонская крона"
|
||||
IDS_CURRENCY_EURO "Евро"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Финская марка"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Французский франк"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Греческая драхма"
|
||||
IDS_CURRENCY_IRISH_POUND "Ирландский фунт"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Итальянская лира"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Латвийский лат"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Литовский лит"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Люксембургский франк"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Мальтийская лира"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Португальское эскудо"
|
||||
|
@@ -436,8 +436,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Stupne"
|
||||
IDS_ANGLE_GRADIANS "Grady"
|
||||
IDS_ANGLE_RADIANS "Radiány"
|
||||
@@ -500,15 +498,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Česká koruna"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Nemecká marka"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Holandský gulden"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Fínska marka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Francúzsky frank"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Grécka drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Írska libra"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Talianská líra"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxemburský frank"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltská líra"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugalské escudo"
|
||||
|
@@ -433,8 +433,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Gradë"
|
||||
IDS_ANGLE_GRADIANS "Gradian"
|
||||
IDS_ANGLE_RADIANS "Radians"
|
||||
@@ -497,15 +495,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Koruna Czech"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Deutsche Mark"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finnish marka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Franga Franceze"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Drachma Greeke"
|
||||
IDS_CURRENCY_IRISH_POUND "Poundi irlandes"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Lira Italiane"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Lira Maltese"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo Portugez"
|
||||
|
@@ -299,7 +299,7 @@ END
|
||||
|
||||
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Statistikbox"
|
||||
CAPTION "Statistik box"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
@@ -436,8 +436,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Grader"
|
||||
IDS_ANGLE_GRADIANS "Gradianer"
|
||||
IDS_ANGLE_RADIANS "Radianer"
|
||||
@@ -447,37 +445,37 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AREA_ACRES "Tunnland"
|
||||
IDS_AREA_ACRES_BRAZIL "Tunnland (Brasilien)"
|
||||
IDS_AREA_ACRES_FRANCE "Tunnland (Frankrike)"
|
||||
IDS_AREA_ACRES_SCOTS "Tunnland (Skottland)"
|
||||
IDS_AREA_ACRES_BRAZIL "Tunnland (Brasil)"
|
||||
IDS_AREA_ACRES_FRANCE "Tunnland (France)"
|
||||
IDS_AREA_ACRES_SCOTS "Tunnland (Scots)"
|
||||
IDS_AREA_ACRES_US "Tunnland (US)"
|
||||
IDS_AREA_ARES "Tunnland"
|
||||
IDS_AREA_CHOU "Chou"
|
||||
IDS_AREA_DANBO "Danbo"
|
||||
IDS_AREA_HECTARES "Hektar"
|
||||
IDS_AREA_JEONGBO "Jeongbo"
|
||||
IDS_AREA_MORGEN_HUNGARY "Morgen (Ungern)"
|
||||
IDS_AREA_MORGEN_HUNGARY "Morgen (Hungary)"
|
||||
IDS_AREA_MU "Mu"
|
||||
IDS_AREA_PING "Ping"
|
||||
IDS_AREA_PYEONG "Pyeong"
|
||||
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
|
||||
IDS_AREA_RAI "Rai"
|
||||
IDS_AREA_SE "Se"
|
||||
IDS_AREA_SQUARE_CENTIMETERS "Kvadratcentimeter"
|
||||
IDS_AREA_SQUARE_CHR "Kvadrat-chr"
|
||||
IDS_AREA_SQUARE_FATHOMS "Kvadrat-fathoms"
|
||||
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Kvadrat-fathoms (Ungern)"
|
||||
IDS_AREA_SQUARE_FEET "Kvadratfot"
|
||||
IDS_AREA_SQUARE_INCHES "Kvadrattum"
|
||||
IDS_AREA_SQUARE_KILOMETERS "Kvadratkilometer"
|
||||
IDS_AREA_SQUARE_CENTIMETERS "Kvadrat centimeter"
|
||||
IDS_AREA_SQUARE_CHR "Kvadrat chr"
|
||||
IDS_AREA_SQUARE_FATHOMS "Kvadrat fathoms"
|
||||
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Kvadrat fathoms (Hungary)"
|
||||
IDS_AREA_SQUARE_FEET "Kvadrat fot"
|
||||
IDS_AREA_SQUARE_INCHES "Kvadrat tum"
|
||||
IDS_AREA_SQUARE_KILOMETERS "Kvadrat kilometer"
|
||||
IDS_AREA_SQUARE_LAR "kvadrat lar"
|
||||
IDS_AREA_SQUARE_METER "Kvadratmeter"
|
||||
IDS_AREA_SQUARE_MILES "Kvadratmil"
|
||||
IDS_AREA_SQUARE_MILLIMETERS "Kvadratmillimeter"
|
||||
IDS_AREA_SQUARE_SHAKU "Kvadrat-shaku"
|
||||
IDS_AREA_SQUARE_TSUEN "Kvadrat-tsuen"
|
||||
IDS_AREA_SQUARE_VA "Kvadrat-va"
|
||||
IDS_AREA_SQUARE_YARD "Kvadratisk imperieyard"
|
||||
IDS_AREA_SQUARE_METER "Kvadrat meter"
|
||||
IDS_AREA_SQUARE_MILES "Kvadrat mil"
|
||||
IDS_AREA_SQUARE_MILLIMETERS "Kvadrat millimeter"
|
||||
IDS_AREA_SQUARE_SHAKU "Kvadrat shaku"
|
||||
IDS_AREA_SQUARE_TSUEN "Kvadrat tsuen"
|
||||
IDS_AREA_SQUARE_VA "Kvadrat va"
|
||||
IDS_AREA_SQUARE_YARD "Kvadrat yard"
|
||||
IDS_AREA_TAN "Tan"
|
||||
IDS_AREA_TSUBO "Tsubo"
|
||||
END
|
||||
@@ -494,37 +492,34 @@ END
|
||||
/* Currencies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CURRENCY_AUSTRIAN_SCHILLING "Österrikisk schilling"
|
||||
IDS_CURRENCY_AUSTRIAN_SCHILLING "Österriksk schilling"
|
||||
IDS_CURRENCY_BELGIAN_FRANC "Belgisk franc"
|
||||
IDS_CURRENCY_CYPRIOT_POUND "Cypriotisk pund"
|
||||
IDS_CURRENCY_CYPRIOT_POUND "Cypriotisk pound"
|
||||
IDS_CURRENCY_CZECH_KORUNA "Tjeckisk koruna"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Tysk mark"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Nederlänsk gulden"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estländsk kroon"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Tysk Mark"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Nederlänsk guilder"
|
||||
IDS_CURRENCY_EURO "Euro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finsk mark"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finisk mark"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Fransk franc"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Grekisk Drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Irländskt pund"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italiensk lire"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Lettisk lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Litauenisk litas"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Gresk Drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Irisk pound"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italiask lire"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltesisk lire"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portugisisk escudo"
|
||||
IDS_CURRENCY_SLOVAK_KORUNA "Slovakisk koruna"
|
||||
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovensk tolar"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portogisisk escudo"
|
||||
IDS_CURRENCY_SLOVAK_KORUNA "Slovansk koruna"
|
||||
IDS_CURRENCY_SLOVENIAN_TOLAR "Slovenansk tolar"
|
||||
IDS_CURRENCY_SPANISH_PESETA "Spansk peseta"
|
||||
END
|
||||
|
||||
/* Energies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ENERGY_15_C_CALORIES "15 °C kalorier"
|
||||
IDS_ENERGY_BTUS "Brittisk värme-enhet"
|
||||
IDS_ENERGY_15_C_CALORIES "15 °C calories"
|
||||
IDS_ENERGY_BTUS "Britisk värme-enhet"
|
||||
IDS_ENERGY_ERGS "Ergs"
|
||||
IDS_ENERGY_EVS "Elektron-Volt"
|
||||
IDS_ENERGY_FOOT_POUNDS "Fot-Pund"
|
||||
IDS_ENERGY_EVS "Electron-Volt"
|
||||
IDS_ENERGY_FOOT_POUNDS "Fot-Pound"
|
||||
IDS_ENERGY_IT_CALORIES "International Table calories"
|
||||
IDS_ENERGY_IT_KILOCALORIES "International Table kilocalories"
|
||||
IDS_ENERGY_JOULES "Joule"
|
||||
@@ -538,7 +533,7 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LENGTH_ANGSTROMS "Ångström"
|
||||
IDS_LENGTH_ASTRONOMICAL_UNITS "Astronomiska enheter"
|
||||
IDS_LENGTH_ASTRONOMICAL_UNITS "Astronomical units"
|
||||
IDS_LENGTH_BARLEYCORNS "Barleycorns"
|
||||
IDS_LENGTH_CENTIMETERS "Centimeter"
|
||||
IDS_LENGTH_CHAINS_UK "Chains (UK)"
|
||||
@@ -547,7 +542,7 @@ BEGIN
|
||||
IDS_LENGTH_CHR "Chr"
|
||||
IDS_LENGTH_CUN "Cun"
|
||||
IDS_LENGTH_FATHOMS "Fathoms"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "Fathoms (Ungern)"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "Fathoms (Ungarn)"
|
||||
IDS_LENGTH_FEET "Fot"
|
||||
IDS_LENGTH_FURLONGS "Furlongs"
|
||||
IDS_LENGTH_GAN "Gan"
|
||||
@@ -561,13 +556,13 @@ BEGIN
|
||||
IDS_LENGTH_KEUB "Keub"
|
||||
IDS_LENGTH_KILOMETERS "Kilometer"
|
||||
IDS_LENGTH_LAR "Lar"
|
||||
IDS_LENGTH_LIGHT_YEARS "Ljusår"
|
||||
IDS_LENGTH_LIGHT_YEARS "Ljus år"
|
||||
IDS_LENGTH_LINKS_UK "Linker (UK)"
|
||||
IDS_LENGTH_METERS "Meter"
|
||||
IDS_LENGTH_MICRONS "Micron"
|
||||
IDS_LENGTH_MILES "Mil"
|
||||
IDS_LENGTH_MILLIMETERS "Millimeter"
|
||||
IDS_LENGTH_NAUTICAL_MILES "Nautiska mil"
|
||||
IDS_LENGTH_NAUTICAL_MILES "Nautisk mil"
|
||||
IDS_LENGTH_NIEU "Nieu"
|
||||
IDS_LENGTH_PARSECS "Parsecs"
|
||||
IDS_LENGTH_PICAS "Picas"
|
||||
@@ -589,9 +584,9 @@ END
|
||||
/* Powers */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_POWER_BTUS_PER_MINUTE "Brittisk värme-enhet per minut"
|
||||
IDS_POWER_BTUS_PER_MINUTE "Britisk värme-enhet per minut"
|
||||
IDS_POWER_FPS_PER_MINUTE "Fot-pund per minut"
|
||||
IDS_POWER_HORSEPOWER "Hästkrafter"
|
||||
IDS_POWER_HORSEPOWER "Hästekrafter"
|
||||
IDS_POWER_KILOWATTS "Kilowatt"
|
||||
IDS_POWER_MEGAWATTS "Megawatt"
|
||||
IDS_POWER_WATTS "Watt"
|
||||
@@ -602,11 +597,11 @@ STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PRESSURE_ATMOSPHERES "Atmosfär"
|
||||
IDS_PRESSURE_BARS "Bar"
|
||||
IDS_PRESSURE_HECTOPASCALS "Hektopascal"
|
||||
IDS_PRESSURE_HECTOPASCALS "Hectopascal"
|
||||
IDS_PRESSURE_KILOPASCALS "Kilopascal"
|
||||
IDS_PRESSURE_MM_OF_MERCURY "Millimeter kvicksilver"
|
||||
IDS_PRESSURE_MM_OF_MERCURY "Millimeters kvicksilver"
|
||||
IDS_PRESSURE_PASCALS "Pascal"
|
||||
IDS_PRESSURE_PSI "Pund per kvadrattum"
|
||||
IDS_PRESSURE_PSI "Pond per kvadrattum"
|
||||
END
|
||||
|
||||
/* Temperatures */
|
||||
@@ -621,26 +616,26 @@ END
|
||||
/* Time */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TIME_DAYS "Dagar"
|
||||
IDS_TIME_HOURS "Timmar"
|
||||
IDS_TIME_NANOSECONDS "Nanosekunder"
|
||||
IDS_TIME_MICROSECONDS "Microsekunder"
|
||||
IDS_TIME_MILLISECONDS "Millisekunder"
|
||||
IDS_TIME_MINUTES "Minuter"
|
||||
IDS_TIME_SECONDS "Sekunder"
|
||||
IDS_TIME_WEEKS "Veckor"
|
||||
IDS_TIME_YEARS "År"
|
||||
IDS_TIME_DAYS "Days"
|
||||
IDS_TIME_HOURS "Hours"
|
||||
IDS_TIME_NANOSECONDS "Nanoseconds"
|
||||
IDS_TIME_MICROSECONDS "Microseconds"
|
||||
IDS_TIME_MILLISECONDS "Milliseconds"
|
||||
IDS_TIME_MINUTES "Minutes"
|
||||
IDS_TIME_SECONDS "Seconds"
|
||||
IDS_TIME_WEEKS "Weeks"
|
||||
IDS_TIME_YEARS "Years"
|
||||
END
|
||||
|
||||
/* Velocities */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VELOCITY_CMS_SECOND "Centimeter/timme"
|
||||
IDS_VELOCITY_CMS_SECOND "Centimeter/time"
|
||||
IDS_VELOCITY_FEET_HOUR "Fot/timme"
|
||||
IDS_VELOCITY_FEET_SECOND "Fot/sekund"
|
||||
IDS_VELOCITY_KILOMETERS_HOUR "Kilometer/timme"
|
||||
IDS_VELOCITY_KNOTS "Knop"
|
||||
IDS_VELOCITY_MACH "Machtal"
|
||||
IDS_VELOCITY_MACH "Mach"
|
||||
IDS_VELOCITY_METERS_SECOND "Meter/sekund"
|
||||
IDS_VELOCITY_MILES_HOUR "Mil/timme"
|
||||
END
|
||||
@@ -648,8 +643,8 @@ END
|
||||
/* Volumes */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VOLUME_BARRELS_UK "Fat (UK)"
|
||||
IDS_VOLUME_BARRELS_OIL "Fat (olja)"
|
||||
IDS_VOLUME_BARRELS_UK "Barrels (UK)"
|
||||
IDS_VOLUME_BARRELS_OIL "Barrels oil"
|
||||
IDS_VOLUME_BUN "Bun"
|
||||
IDS_VOLUME_BUSHELS_UK "Bushels (UK)"
|
||||
IDS_VOLUME_BUSHELS_US "Bushels (US)"
|
||||
@@ -657,7 +652,7 @@ BEGIN
|
||||
IDS_VOLUME_CUBIC_FEET "Kubikfot"
|
||||
IDS_VOLUME_CUBIC_INCHES "Kubiktumm"
|
||||
IDS_VOLUME_CUBIC_METERS "Kubikmeter"
|
||||
IDS_VOLUME_CUBIC_YARDS "Kubikyard"
|
||||
IDS_VOLUME_CUBIC_YARDS "Kubikyards"
|
||||
IDS_VOLUME_DOE "Doe"
|
||||
IDS_VOLUME_FLUID_OUNCES_UK "Fluid ounces (UK)"
|
||||
IDS_VOLUME_FLUID_OUNCES_US "Fluid ounces (US)"
|
||||
@@ -688,7 +683,7 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_WEIGHT_BAHT "Baht"
|
||||
IDS_WEIGHT_CARATS "Karat"
|
||||
IDS_WEIGHT_CARATS "Carats"
|
||||
IDS_WEIGHT_CHUNG "Chung"
|
||||
IDS_WEIGHT_DON "Don"
|
||||
IDS_WEIGHT_GEUN "Geun"
|
||||
@@ -696,17 +691,17 @@ BEGIN
|
||||
IDS_WEIGHT_GWAN "Gwan"
|
||||
IDS_WEIGHT_HARB "Harb"
|
||||
IDS_WEIGHT_JIN_CHINA "Jin (Kina)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwaner)"
|
||||
IDS_WEIGHT_KAN "Kan"
|
||||
IDS_WEIGHT_KILOGRAMS "Kilogram"
|
||||
IDS_WEIGHT_KIN "Kin"
|
||||
IDS_WEIGHT_LIANG_CHINA "Liang (Kina)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwaner)"
|
||||
IDS_WEIGHT_MONME "Monme"
|
||||
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Ounces, avoirdupois"
|
||||
IDS_WEIGHT_OUNCES_TROY "Ounces, troy"
|
||||
IDS_WEIGHT_POUNDS "Pund"
|
||||
IDS_WEIGHT_QUINTAL_METRIC "Quintal (metrisk)"
|
||||
IDS_WEIGHT_QUINTAL_METRIC "Quintal (metric)"
|
||||
IDS_WEIGHT_SALOUNG "Saloung"
|
||||
IDS_WEIGHT_STONES "Sten"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
|
@@ -429,8 +429,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "องศา"
|
||||
IDS_ANGLE_GRADIANS "เกรเดียน"
|
||||
IDS_ANGLE_RADIANS "เรเดียน"
|
||||
@@ -493,15 +491,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Czech koruna"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Deutsche Mark"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Dutch guilder"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "ยูโร"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Finnish markka"
|
||||
IDS_CURRENCY_FRENCH_FRANC "French franc"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Greek Drachma"
|
||||
IDS_CURRENCY_IRISH_POUND "Irish pound"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Italian lira"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Luxembourg franc"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Maltese lira"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portoguese escudo"
|
||||
|
@@ -1,7 +1,4 @@
|
||||
/* TRANSLATOR:
|
||||
2013-2014, 2016, 2019 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
|
||||
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
|
||||
*/
|
||||
/* TRANSLATOR: 2013, 2014, 2016 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
|
||||
|
||||
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
|
||||
|
||||
@@ -9,7 +6,7 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Hesap Makinesi"
|
||||
CAPTION "Hesap Makinesi"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
@@ -19,23 +16,23 @@ BEGIN
|
||||
CONTROL "Sekizlik", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
|
||||
CONTROL "İkilik", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
|
||||
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
|
||||
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
|
||||
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
|
||||
CONTROL "Ters", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
|
||||
CONTROL "Aşırı", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
|
||||
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Say", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ort", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Top", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "ÖS", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ekle", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "BG", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "DDS", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -63,13 +60,13 @@ BEGIN
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "BS", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "BG", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "BK", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "BE", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -115,39 +112,39 @@ BEGIN
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Veyâ", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
|
||||
PUSHBUTTON "Sola", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Ve", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Ya da", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
|
||||
PUSHBUTTON "Değil", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
|
||||
PUSHBUTTON "Tam", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
|
||||
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
CONTROL "Dörtlü Sözcük", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 150, 21, 38, 10
|
||||
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
CONTROL "İkili Sözcük", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 190, 21, 38, 10
|
||||
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
|
||||
CONTROL "Sözcük", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 230, 21, 38, 10
|
||||
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
|
||||
CONTROL "Çoklu", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 270, 21, 38, 10
|
||||
CONTROL "Derece", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
|
||||
CONTROL "Radian", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
|
||||
CONTROL "Gradian", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
CONTROL "Radyan", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
|
||||
CONTROL "Gradyan", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
PUSHBUTTON "Baştan", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Sil", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Geri", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -157,13 +154,13 @@ END
|
||||
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Hesap Makinesi"
|
||||
CAPTION "Hesap Makinesi"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Baştan", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Sil", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Geri", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -200,7 +197,7 @@ BEGIN
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "Karekök", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -209,36 +206,36 @@ BEGIN
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "BS", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "BG", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "BK", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
PUSHBUTTON "BE", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Hesap Makinesi"
|
||||
CAPTION "Hesap Makinesi"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "Dönüştür", IDC_BUTTON_CONVERT, 35, 105, 76, 17
|
||||
PUSHBUTTON "Dönüştür:", IDC_BUTTON_CONVERT, 35, 105, 76, 17
|
||||
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Kategori:", IDC_STATIC, 5, 20, 56, 8
|
||||
LTEXT "Ulam:", IDC_STATIC, 5, 20, 56, 8
|
||||
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Şundan dönüştür:", IDC_STATIC, 5, 49, 56, 8
|
||||
LTEXT "Şundan Dönüştür:", IDC_STATIC, 5, 49, 56, 8
|
||||
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "Şuna Dönüştür:", IDC_STATIC, 5, 76, 56, 8
|
||||
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "Baştan", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
|
||||
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "Sil", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
|
||||
CONTROL "Geri", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
|
||||
@@ -275,7 +272,7 @@ BEGIN
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
|
||||
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
|
||||
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "Karekök", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
|
||||
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
|
||||
@@ -284,27 +281,27 @@ BEGIN
|
||||
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
|
||||
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "BS", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
|
||||
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "BG", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
|
||||
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "BK", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
|
||||
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
CONTROL "BE", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "İstatistik Kutusu"
|
||||
CAPTION "Sayımlama Penceresi"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
|
||||
PUSHBUTTON "LOAD", IDC_BUTTON_LOAD, 44, 48, 36, 16
|
||||
PUSHBUTTON "CD", IDC_BUTTON_CD, 84, 48, 36, 16
|
||||
PUSHBUTTON "CAD", IDC_BUTTON_CAD, 124, 48, 36, 16
|
||||
PUSHBUTTON "&Geri Dön", IDC_BUTTON_RET, 4, 48, 36, 16
|
||||
PUSHBUTTON "&Yükle", IDC_BUTTON_LOAD, 44, 48, 36, 16
|
||||
PUSHBUTTON "&Sil", IDC_BUTTON_CD, 84, 48, 36, 16
|
||||
PUSHBUTTON "&Tümünü Sil", IDC_BUTTON_CAD, 124, 48, 36, 16
|
||||
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
|
||||
END
|
||||
|
||||
@@ -314,31 +311,31 @@ IDR_MENU_SCIENTIFIC_1 MENU
|
||||
BEGIN
|
||||
POPUP "&Düzen"
|
||||
BEGIN
|
||||
MENUITEM "&Kopyala\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "&Yapıştır\tCtrl+V", IDM_EDIT_PASTE
|
||||
MENUITEM "&Çoğalt\tDenetim+C", IDM_EDIT_COPY
|
||||
MENUITEM "&Yapıştır\tDenetim+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "&Görünüm"
|
||||
BEGIN
|
||||
MENUITEM "&Standart", IDM_VIEW_STANDARD
|
||||
MENUITEM "&Bilimsel", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "&Ölçünlü", IDM_VIEW_STANDARD
|
||||
MENUITEM "&Bilimlik", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "&Dönüştürme", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Onaltılık\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "O&nluk\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "S&ekizlik\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "&İkilik\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM "&Onaltılık\tİ5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "O&nluk\tİ6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "&Sekizlik\tİ7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "&İkilik\tİ8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "De&rece\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "R&adyan\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "&Gradyan\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM "D&erece\tİ2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "&Radyan\tİ3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "&Gradyan\tİ4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Basa&makları Grupla", IDM_VIEW_GROUP, CHECKED
|
||||
MENUITEM "B&asamakları Takımla", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "&Yardım"
|
||||
BEGIN
|
||||
MENUITEM "&Yardım Konuları", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&ReactOS Hesap Makinesi Hakkında", IDM_HELP_ABOUT
|
||||
MENUITEM "&ReactOS Hesap Makinesi Üzerine...", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
@@ -346,32 +343,32 @@ IDR_MENU_SCIENTIFIC_2 MENU
|
||||
BEGIN
|
||||
POPUP "&Düzen"
|
||||
BEGIN
|
||||
MENUITEM "&Kopyala\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "&Yapıştır\tCtrl+V", IDM_EDIT_PASTE
|
||||
MENUITEM "&Çoğalt\tDenetim+C", IDM_EDIT_COPY
|
||||
MENUITEM "&Yapıştır\tDenetim+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "&Görünüm"
|
||||
BEGIN
|
||||
MENUITEM "&Standart", IDM_VIEW_STANDARD
|
||||
MENUITEM "&Bilimsel", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "&Ölçünlü", IDM_VIEW_STANDARD
|
||||
MENUITEM "&Bilimlik", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "&Dönüştürme", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Onaltılık\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "O&nluk\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "S&ekizlik\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "&İkilik\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM "&Onaltılık\tİ5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "O&nluk\tİ6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "&Sekizlik\tİ7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "&İkilik\tİ8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Dö&rtlü Sözcük\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "İ&kili Sözcük\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "Sö&zcük\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "Çok&lu\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM "Dö&rtlü Sözcük\tİ12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "İ&kili Sözcük\tİ2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "Sö&zcük\tİ3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "&Çoklu\tİ4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "B&asamakları Grupla", IDM_VIEW_GROUP, CHECKED
|
||||
MENUITEM "B&asamakları Takımla", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "&Yardım"
|
||||
BEGIN
|
||||
MENUITEM "&Yardım Konuları", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&ReactOS Hesap Makinesi Hakkında", IDM_HELP_ABOUT
|
||||
MENUITEM "&ReactOS Hesap Makinesi Üzerine...", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
@@ -379,22 +376,22 @@ IDR_MENU_STANDARD MENU
|
||||
BEGIN
|
||||
POPUP "&Düzen"
|
||||
BEGIN
|
||||
MENUITEM "&Kopyala\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "&Yapıştır\tCtrl+V", IDM_EDIT_PASTE
|
||||
MENUITEM "&Çoğalt\tDenetim+C", IDM_EDIT_COPY
|
||||
MENUITEM "&Yapıştır\tDenetim+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "&Görünüm"
|
||||
BEGIN
|
||||
MENUITEM "&Standart", IDM_VIEW_STANDARD
|
||||
MENUITEM "&Bilimsel", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "&Ölçünlü", IDM_VIEW_STANDARD
|
||||
MENUITEM "&Bilimlik", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "&Dönüştürme", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "B&asamakları Grupla", IDM_VIEW_GROUP, CHECKED
|
||||
MENUITEM "B&asamakları Takımla", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "&Yardım"
|
||||
BEGIN
|
||||
MENUITEM "&Yardım Konuları", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&ReactOS Hesap Makinesi Hakkında", IDM_HELP_ABOUT
|
||||
MENUITEM "&ReactOS Hesap Makinesi Üzerine...", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
@@ -402,7 +399,7 @@ END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MATH_ERROR "Hata"
|
||||
IDS_MATH_ERROR "Yanlışlık"
|
||||
IDS_QUICKHELP "Hızlı Yardım"
|
||||
END
|
||||
|
||||
@@ -410,7 +407,7 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CALC_NAME "Hesap Makinesi"
|
||||
IDS_AUTHOR "Carlo Bramini tarafından yazılmıştır."
|
||||
IDS_AUTHOR "Carlo Bramini eliyle yapılmıştır."
|
||||
END
|
||||
|
||||
/* Types of conversion */
|
||||
@@ -418,24 +415,22 @@ STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONV_ANGLE "Açı"
|
||||
IDS_CONV_AREA "Alan"
|
||||
IDS_CONV_CONSUMPTION "Tüketim (motor)"
|
||||
IDS_CONV_CURRENCY "Para Birimleri"
|
||||
IDS_CONV_ENERGY "Enerji"
|
||||
IDS_CONV_CONSUMPTION "Makine Tüketimi"
|
||||
IDS_CONV_CURRENCY "Nakit Birimi"
|
||||
IDS_CONV_ENERGY "Erke"
|
||||
IDS_CONV_LENGTH "Uzunluk"
|
||||
IDS_CONV_POWER "Güç"
|
||||
IDS_CONV_PRESSURE "Basınç"
|
||||
IDS_CONV_TEMPERATURE "Sıcaklık"
|
||||
IDS_CONV_TIME "Zaman"
|
||||
IDS_CONV_VELOCITY "Hız"
|
||||
IDS_CONV_VOLUME "Hacim"
|
||||
IDS_CONV_VOLUME "Oylum"
|
||||
IDS_CONV_WEIGHT "Ağırlık"
|
||||
END
|
||||
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Yay Dakikası"
|
||||
IDS_ANGLE_ARCSECONDS "Yay Saniyesi"
|
||||
IDS_ANGLE_DEGREES "Derece"
|
||||
IDS_ANGLE_GRADIANS "Gradyan"
|
||||
IDS_ANGLE_RADIANS "Radyan"
|
||||
@@ -498,15 +493,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Çek Korunası"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Alman Markı"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Hollanda Guilderi"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonya Kronu"
|
||||
IDS_CURRENCY_EURO "Avro"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Fin Markkası"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Fransız Frangı"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Yunan Drahmisi"
|
||||
IDS_CURRENCY_IRISH_POUND "İrlanda Pondu"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "İtalyan Lirası"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Letonya Latı"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Litvanya litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Lüksemburg Frangı"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Malta Lirası"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Portekiz Esküdosu"
|
||||
@@ -518,7 +510,7 @@ END
|
||||
/* Energies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ENERGY_15_C_CALORIES "15°C'luk Kalori"
|
||||
IDS_ENERGY_15_C_CALORIES "Kalori (15°C'luk)"
|
||||
IDS_ENERGY_BTUS "İngiliz Isı Birimi"
|
||||
IDS_ENERGY_ERGS "Erg"
|
||||
IDS_ENERGY_EVS "Elektronvolt"
|
||||
@@ -529,7 +521,7 @@ BEGIN
|
||||
IDS_ENERGY_KILOJOULES "Kilojul"
|
||||
IDS_ENERGY_KILOWATT_HOURS "Kilovat-saat"
|
||||
IDS_ENERGY_NUTRITION_CALORIES "Besin kalorisi"
|
||||
IDS_ENERGY_TH_CALORIES "Termokimyasal kalori"
|
||||
IDS_ENERGY_TH_CALORIES "Termokimyevî kalori"
|
||||
END
|
||||
|
||||
/* Lengths */
|
||||
@@ -537,7 +529,7 @@ STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LENGTH_ANGSTROMS "Angström"
|
||||
IDS_LENGTH_ASTRONOMICAL_UNITS "Astronomi birimi"
|
||||
IDS_LENGTH_BARLEYCORNS "Arpa tanesi"
|
||||
IDS_LENGTH_BARLEYCORNS "Arpa tânesi"
|
||||
IDS_LENGTH_CENTIMETERS "Santimetre"
|
||||
IDS_LENGTH_CHAINS_UK "Zincir (BK)"
|
||||
IDS_LENGTH_CHI "Çi"
|
||||
@@ -564,7 +556,7 @@ BEGIN
|
||||
IDS_LENGTH_METERS "Metre"
|
||||
IDS_LENGTH_MICRONS "Mikron"
|
||||
IDS_LENGTH_MILES "Mil"
|
||||
IDS_LENGTH_MILLIMETERS "Milimetre"
|
||||
IDS_LENGTH_MILLIMETERS "Millimetre"
|
||||
IDS_LENGTH_NAUTICAL_MILES "Deniz mili"
|
||||
IDS_LENGTH_NIEU "Niu"
|
||||
IDS_LENGTH_PARSECS "Parsek"
|
||||
@@ -587,9 +579,9 @@ END
|
||||
/* Powers */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_POWER_BTUS_PER_MINUTE "Dakikadaki İngiliz Isı Birimi"
|
||||
IDS_POWER_FPS_PER_MINUTE "Dakikadaki ayak pond kuvveti"
|
||||
IDS_POWER_HORSEPOWER "Beygir gücü"
|
||||
IDS_POWER_BTUS_PER_MINUTE "Dakîkadaki İngiliz Isı Birimi"
|
||||
IDS_POWER_FPS_PER_MINUTE "Dakîkadaki ayak pond kuvveti"
|
||||
IDS_POWER_HORSEPOWER "At gücü"
|
||||
IDS_POWER_KILOWATTS "Kilovat"
|
||||
IDS_POWER_MEGAWATTS "Megavat"
|
||||
IDS_POWER_WATTS "Vat"
|
||||
@@ -598,7 +590,7 @@ END
|
||||
/* Pressures */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PRESSURE_ATMOSPHERES "Atmosfer"
|
||||
IDS_PRESSURE_ATMOSPHERES "Hava yuvarı"
|
||||
IDS_PRESSURE_BARS "Bar"
|
||||
IDS_PRESSURE_HECTOPASCALS "Hektopaskal"
|
||||
IDS_PRESSURE_KILOPASCALS "Kilopaskal"
|
||||
@@ -621,11 +613,11 @@ STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TIME_DAYS "Gün"
|
||||
IDS_TIME_HOURS "Saat"
|
||||
IDS_TIME_NANOSECONDS "Nanosaniye"
|
||||
IDS_TIME_MICROSECONDS "Mikrosaniye"
|
||||
IDS_TIME_MILLISECONDS "Milisaniye"
|
||||
IDS_TIME_MINUTES "Dakika"
|
||||
IDS_TIME_SECONDS "Saniye"
|
||||
IDS_TIME_NANOSECONDS "Nanosâniye"
|
||||
IDS_TIME_MICROSECONDS "Mikrosâniye"
|
||||
IDS_TIME_MILLISECONDS "Milisâniye"
|
||||
IDS_TIME_MINUTES "Dakîka"
|
||||
IDS_TIME_SECONDS "Sâniye"
|
||||
IDS_TIME_WEEKS "Hafta"
|
||||
IDS_TIME_YEARS "Yıl"
|
||||
END
|
||||
@@ -635,7 +627,7 @@ STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VELOCITY_CMS_SECOND "Santimetre/Saat"
|
||||
IDS_VELOCITY_FEET_HOUR "Ayak/Saat"
|
||||
IDS_VELOCITY_FEET_SECOND "Ayak/Saniye"
|
||||
IDS_VELOCITY_FEET_SECOND "Ayak/Sâniye"
|
||||
IDS_VELOCITY_KILOMETERS_HOUR "Kilometre/Saat"
|
||||
IDS_VELOCITY_KNOTS "Deniz mili"
|
||||
IDS_VELOCITY_MACH "Maç"
|
||||
|
@@ -437,8 +437,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "Minute of arc"
|
||||
IDS_ANGLE_ARCSECONDS "Second of arc"
|
||||
IDS_ANGLE_DEGREES "Градус"
|
||||
IDS_ANGLE_GRADIANS "Град"
|
||||
IDS_ANGLE_RADIANS "Радіан"
|
||||
@@ -501,15 +499,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "Чешська крона"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "Немецька марка"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "Голандський гульден"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "Євро"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "Фінська марка"
|
||||
IDS_CURRENCY_FRENCH_FRANC "Французський франк"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "Грецька драхма"
|
||||
IDS_CURRENCY_IRISH_POUND "Ірландський фунт"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "Італьянськая ліра"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "Люксембургський франк"
|
||||
IDS_CURRENCY_MALTESE_LIRA "Мальтийськая ліра"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "Португальське ескудо"
|
||||
|
@@ -1,10 +1,4 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Calc
|
||||
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
|
||||
* PURPOSE: Chinese (Simplified) resource file
|
||||
* TRANSLATORS: Copyright 2011 Song Fuchang (0xfc) <sfc_0@yahoo.com.cn>
|
||||
* Copyright 2021 Wu Haotian <rigoligo03@gmail.com>
|
||||
*/
|
||||
/* Simplified Chinese translation for calc. By Song Fuchang (0xfc) <sfc_0@yahoo.com.cn> */
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||
|
||||
@@ -14,7 +8,7 @@ IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 计算器"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 9, "宋体", 0, 0, 0x1
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
|
||||
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
|
||||
@@ -162,7 +156,7 @@ IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 计算器"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 9, "宋体", 0, 0, 0x1
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
@@ -227,18 +221,18 @@ IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 计算器"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 9, "宋体"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
PUSHBUTTON "转换", IDC_BUTTON_CONVERT, 35, 105, 76, 17
|
||||
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "类别:", IDC_STATIC, 5, 20, 56, 8
|
||||
LTEXT "类别:", IDC_STATIC, 5, 20, 56, 8
|
||||
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "从...转换:", IDC_STATIC, 5, 49, 56, 8
|
||||
LTEXT "从...转换:", IDC_STATIC, 5, 49, 56, 8
|
||||
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "转换为:", IDC_STATIC, 5, 76, 56, 8
|
||||
LTEXT "转换为:", IDC_STATIC, 5, 76, 56, 8
|
||||
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
|
||||
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
@@ -301,7 +295,7 @@ END
|
||||
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "统计框"
|
||||
FONT 9, "宋体"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "返回", IDC_BUTTON_RET, 4, 48, 36, 16
|
||||
@@ -421,7 +415,7 @@ STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONV_ANGLE "角"
|
||||
IDS_CONV_AREA "面积"
|
||||
IDS_CONV_CONSUMPTION "油耗(引擎)"
|
||||
IDS_CONV_CONSUMPTION "油耗 (引擎)"
|
||||
IDS_CONV_CURRENCY "货币"
|
||||
IDS_CONV_ENERGY "能量"
|
||||
IDS_CONV_LENGTH "长度"
|
||||
@@ -437,8 +431,6 @@ END
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "分"
|
||||
IDS_ANGLE_ARCSECONDS "秒"
|
||||
IDS_ANGLE_DEGREES "角度"
|
||||
IDS_ANGLE_GRADIANS "梯度"
|
||||
IDS_ANGLE_RADIANS "弧度"
|
||||
@@ -448,26 +440,26 @@ END
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AREA_ACRES "英亩"
|
||||
IDS_AREA_ACRES_BRAZIL "英亩(巴西)"
|
||||
IDS_AREA_ACRES_FRANCE "英亩(法国)"
|
||||
IDS_AREA_ACRES_SCOTS "英亩(苏格兰)"
|
||||
IDS_AREA_ACRES_US "英亩(美国)"
|
||||
IDS_AREA_ACRES_BRAZIL "英亩 (巴西)"
|
||||
IDS_AREA_ACRES_FRANCE "英亩 (法国)"
|
||||
IDS_AREA_ACRES_SCOTS "英亩 (苏格兰)"
|
||||
IDS_AREA_ACRES_US "英亩 (美国)"
|
||||
IDS_AREA_ARES "公亩"
|
||||
IDS_AREA_CHOU "畴"
|
||||
IDS_AREA_DANBO "大亩"
|
||||
IDS_AREA_HECTARES "公顷"
|
||||
IDS_AREA_JEONGBO "Jeongbo"
|
||||
IDS_AREA_MORGEN_HUNGARY "摩根(匈牙利)"
|
||||
IDS_AREA_MORGEN_HUNGARY "摩根 (匈牙利)"
|
||||
IDS_AREA_MU "亩"
|
||||
IDS_AREA_PING "坪"
|
||||
IDS_AREA_PYEONG "坪(韩国)"
|
||||
IDS_AREA_PYEONG "坪 (韩国)"
|
||||
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
|
||||
IDS_AREA_RAI "莱"
|
||||
IDS_AREA_SE "亩(日本)"
|
||||
IDS_AREA_SE "亩 (日本)"
|
||||
IDS_AREA_SQUARE_CENTIMETERS "平方厘米"
|
||||
IDS_AREA_SQUARE_CHR "Square chr"
|
||||
IDS_AREA_SQUARE_FATHOMS "平方英寻"
|
||||
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英寻(匈牙利)"
|
||||
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英寻 (匈牙利)"
|
||||
IDS_AREA_SQUARE_FEET "平方英尺"
|
||||
IDS_AREA_SQUARE_INCHES "平方英寸"
|
||||
IDS_AREA_SQUARE_KILOMETERS "平方千米"
|
||||
@@ -480,7 +472,7 @@ BEGIN
|
||||
IDS_AREA_SQUARE_VA "Square va"
|
||||
IDS_AREA_SQUARE_YARD "平方码"
|
||||
IDS_AREA_TAN "段"
|
||||
IDS_AREA_TSUBO "坪(日本)"
|
||||
IDS_AREA_TSUBO "坪 (日本)"
|
||||
END
|
||||
|
||||
/* Consumptions */
|
||||
@@ -488,8 +480,8 @@ STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONSUMPTION_KM_PER_L "千米/升"
|
||||
IDS_CONSUMPTION_L_PER_100_KM "升/100 千米"
|
||||
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加仑(英国)"
|
||||
IDS_CONSUMPTION_MILES_GALLON_US "英里/加仑(美国)"
|
||||
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加仑 (英国)"
|
||||
IDS_CONSUMPTION_MILES_GALLON_US "英里/加仑 (美国)"
|
||||
END
|
||||
|
||||
/* Currencies */
|
||||
@@ -501,15 +493,12 @@ BEGIN
|
||||
IDS_CURRENCY_CZECH_KORUNA "捷克克朗"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "德国马克"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "荷兰盾"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
|
||||
IDS_CURRENCY_EURO "欧元"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "芬兰马克"
|
||||
IDS_CURRENCY_FRENCH_FRANC "法郎"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "希腊德拉克马"
|
||||
IDS_CURRENCY_IRISH_POUND "爱尔兰镑"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "意大利里拉"
|
||||
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "卢森堡法郎"
|
||||
IDS_CURRENCY_MALTESE_LIRA "马耳他里拉"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "葡萄牙埃斯库多"
|
||||
@@ -542,20 +531,20 @@ BEGIN
|
||||
IDS_LENGTH_ASTRONOMICAL_UNITS "天文单位"
|
||||
IDS_LENGTH_BARLEYCORNS "巴利肯"
|
||||
IDS_LENGTH_CENTIMETERS "厘米"
|
||||
IDS_LENGTH_CHAINS_UK "链(英国)"
|
||||
IDS_LENGTH_CHAINS_UK "链 (英国)"
|
||||
IDS_LENGTH_CHI "尺"
|
||||
IDS_LENGTH_CHOU "畴"
|
||||
IDS_LENGTH_CHR "Chr"
|
||||
IDS_LENGTH_CUN "寸"
|
||||
IDS_LENGTH_FATHOMS "英寻"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "英寻(匈牙利)"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "英寻 (匈牙利)"
|
||||
IDS_LENGTH_FEET "英尺"
|
||||
IDS_LENGTH_FURLONGS "浪"
|
||||
IDS_LENGTH_GAN "杆"
|
||||
IDS_LENGTH_HANDS "掌宽"
|
||||
IDS_LENGTH_HUNH "Hunh"
|
||||
IDS_LENGTH_INCHES "英尺"
|
||||
IDS_LENGTH_JA "尺(韩国)"
|
||||
IDS_LENGTH_JA "尺 (韩国)"
|
||||
IDS_LENGTH_JEONG "Jeong"
|
||||
IDS_LENGTH_KABIET "Kabiet"
|
||||
IDS_LENGTH_KEN "Ken"
|
||||
@@ -572,14 +561,14 @@ BEGIN
|
||||
IDS_LENGTH_NIEU "Nieu"
|
||||
IDS_LENGTH_PARSECS "Parsecs"
|
||||
IDS_LENGTH_PICAS "Picas"
|
||||
IDS_LENGTH_RI_JAPAN "里(日本)"
|
||||
IDS_LENGTH_RI_KOREA "里(韩国)"
|
||||
IDS_LENGTH_RI_JAPAN "里 (日本)"
|
||||
IDS_LENGTH_RI_KOREA "里 (韩国)"
|
||||
IDS_LENGTH_RODS "杆"
|
||||
IDS_LENGTH_SAWK "Sawk"
|
||||
IDS_LENGTH_SEN "Sen"
|
||||
IDS_LENGTH_SHAKU "尺(日本)"
|
||||
IDS_LENGTH_SHAKU "尺 (日本)"
|
||||
IDS_LENGTH_SPAN "Span"
|
||||
IDS_LENGTH_SUN "寸(日本)"
|
||||
IDS_LENGTH_SUN "寸 (日本)"
|
||||
IDS_LENGTH_TSUEN "寸"
|
||||
IDS_LENGTH_VA "Va"
|
||||
IDS_LENGTH_YARDS "码"
|
||||
@@ -649,22 +638,22 @@ END
|
||||
/* Volumes */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VOLUME_BARRELS_UK "桶(英国)"
|
||||
IDS_VOLUME_BARRELS_UK "桶 (英国)"
|
||||
IDS_VOLUME_BARRELS_OIL "桶油"
|
||||
IDS_VOLUME_BUN "Bun"
|
||||
IDS_VOLUME_BUSHELS_UK "蒲式耳(英国)"
|
||||
IDS_VOLUME_BUSHELS_US "蒲式耳(美国)"
|
||||
IDS_VOLUME_BUSHELS_UK "蒲式耳 (英国)"
|
||||
IDS_VOLUME_BUSHELS_US "蒲式耳 (美国)"
|
||||
IDS_VOLUME_CUBIC_CENTIMETERS "立方厘米"
|
||||
IDS_VOLUME_CUBIC_FEET "立方英尺"
|
||||
IDS_VOLUME_CUBIC_INCHES "立方英寸"
|
||||
IDS_VOLUME_CUBIC_METERS "立方米"
|
||||
IDS_VOLUME_CUBIC_YARDS "立方码"
|
||||
IDS_VOLUME_DOE "Doe"
|
||||
IDS_VOLUME_FLUID_OUNCES_UK "液盎司(英国)"
|
||||
IDS_VOLUME_FLUID_OUNCES_US "液盎司(美国)"
|
||||
IDS_VOLUME_GALLONS_UK "加仑(英国)"
|
||||
IDS_VOLUME_GALLONS_DRY_US "干量加仑(美国)"
|
||||
IDS_VOLUME_GALLONS_LIQUID_US "液加仑(美国)"
|
||||
IDS_VOLUME_FLUID_OUNCES_UK "液盎司 (英国)"
|
||||
IDS_VOLUME_FLUID_OUNCES_US "液盎司 (美国)"
|
||||
IDS_VOLUME_GALLONS_UK "加仑 (英国)"
|
||||
IDS_VOLUME_GALLONS_DRY_US "干量加仑 (美国)"
|
||||
IDS_VOLUME_GALLONS_LIQUID_US "液加仑 (美国)"
|
||||
IDS_VOLUME_GOU "合"
|
||||
IDS_VOLUME_HOP "Hop"
|
||||
IDS_VOLUME_ICCE "Icce"
|
||||
@@ -672,17 +661,17 @@ BEGIN
|
||||
IDS_VOLUME_LITERS "升"
|
||||
IDS_VOLUME_MAL "Mal"
|
||||
IDS_VOLUME_MILLILITERS "毫升"
|
||||
IDS_VOLUME_PINTS_UK "品脱(英国)"
|
||||
IDS_VOLUME_PINTS_DRY_US "干量品脱(美国)"
|
||||
IDS_VOLUME_PINTS_LIQUID_US "液品脱(美国)"
|
||||
IDS_VOLUME_QUARTS_UK "夸脱(英国)"
|
||||
IDS_VOLUME_QUARTS_DRY_US "干量夸脱(美国)"
|
||||
IDS_VOLUME_QUARTS_LIQUID_US "液夸脱(美国)"
|
||||
IDS_VOLUME_PINTS_UK "品脱 (英国)"
|
||||
IDS_VOLUME_PINTS_DRY_US "干量品脱 (美国)"
|
||||
IDS_VOLUME_PINTS_LIQUID_US "液品脱 (美国)"
|
||||
IDS_VOLUME_QUARTS_UK "夸脱 (英国)"
|
||||
IDS_VOLUME_QUARTS_DRY_US "干量夸脱 (美国)"
|
||||
IDS_VOLUME_QUARTS_LIQUID_US "液夸脱 (美国)"
|
||||
IDS_VOLUME_SEKI "Seki"
|
||||
IDS_VOLUME_SYOU "Syou"
|
||||
IDS_VOLUME_TANANLOUNG "Tananloung"
|
||||
IDS_VOLUME_TANG "Tang"
|
||||
IDS_VOLUME_TO "斗(日本)"
|
||||
IDS_VOLUME_TO "斗 (日本)"
|
||||
END
|
||||
|
||||
/* Weights */
|
||||
@@ -696,14 +685,14 @@ BEGIN
|
||||
IDS_WEIGHT_GRAMS "克"
|
||||
IDS_WEIGHT_GWAN "Gwan"
|
||||
IDS_WEIGHT_HARB "Harb"
|
||||
IDS_WEIGHT_JIN_CHINA "斤(中国)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "斤(中国台湾)"
|
||||
IDS_WEIGHT_KAN "贯(日本)"
|
||||
IDS_WEIGHT_JIN_CHINA "斤 (中国)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "斤 (中国台湾)"
|
||||
IDS_WEIGHT_KAN "贯 (日本)"
|
||||
IDS_WEIGHT_KILOGRAMS "千克"
|
||||
IDS_WEIGHT_KIN "斤(日本)"
|
||||
IDS_WEIGHT_LIANG_CHINA "两(中国)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "两(中国台湾)"
|
||||
IDS_WEIGHT_MONME "两(日本)"
|
||||
IDS_WEIGHT_KIN "斤 (日本)"
|
||||
IDS_WEIGHT_LIANG_CHINA "两 (中国)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "两 (中国台湾)"
|
||||
IDS_WEIGHT_MONME "两 (日本)"
|
||||
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "常衡盎司"
|
||||
IDS_WEIGHT_OUNCES_TROY "金衡盎司"
|
||||
IDS_WEIGHT_POUNDS "英磅"
|
||||
@@ -712,6 +701,6 @@ BEGIN
|
||||
IDS_WEIGHT_STONES "石"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
IDS_WEIGHT_TONNES "吨"
|
||||
IDS_WEIGHT_TONS_UK "吨(英国)"
|
||||
IDS_WEIGHT_TONS_US "吨(美国)"
|
||||
IDS_WEIGHT_TONS_UK "吨 (英国)"
|
||||
IDS_WEIGHT_TONS_US "吨 (美国)"
|
||||
END
|
||||
|
@@ -1,717 +0,0 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Calc
|
||||
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
|
||||
* PURPOSE: Chinese (Hong Kong) resource file
|
||||
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
|
||||
* REFERENCES: Chinese (Simplified) resource file
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
|
||||
|
||||
/* Dialogs */
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 計數機"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 9, "新細明體", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
|
||||
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
|
||||
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
|
||||
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
|
||||
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
|
||||
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
|
||||
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
|
||||
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
|
||||
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
|
||||
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 150, 21, 38, 10
|
||||
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 190, 21, 38, 10
|
||||
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 230, 21, 38, 10
|
||||
CONTROL "位元組", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 270, 21, 38, 10
|
||||
CONTROL "角度", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
|
||||
CONTROL "弧度", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
|
||||
CONTROL "梯度", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Back", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 計數機"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 9, "新細明體", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Back", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 計數機"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
PUSHBUTTON "轉換", IDC_BUTTON_CONVERT, 35, 105, 76, 17
|
||||
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "類別:", IDC_STATIC, 5, 20, 56, 8
|
||||
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "從...轉換:", IDC_STATIC, 5, 49, 56, 8
|
||||
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "轉換為:", IDC_STATIC, 5, 76, 56, 8
|
||||
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
|
||||
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
|
||||
CONTROL "Back", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
|
||||
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
|
||||
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
|
||||
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
|
||||
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
|
||||
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
|
||||
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
|
||||
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
|
||||
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
|
||||
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
|
||||
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
|
||||
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
|
||||
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
|
||||
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
|
||||
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
|
||||
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
|
||||
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
|
||||
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
|
||||
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
|
||||
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
|
||||
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
|
||||
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
|
||||
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
|
||||
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "統計框"
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "返回", IDC_BUTTON_RET, 4, 48, 36, 16
|
||||
PUSHBUTTON "載入", IDC_BUTTON_LOAD, 44, 48, 36, 16
|
||||
PUSHBUTTON "清除", IDC_BUTTON_CD, 84, 48, 36, 16
|
||||
PUSHBUTTON "全清", IDC_BUTTON_CAD, 124, 48, 36, 16
|
||||
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
|
||||
END
|
||||
|
||||
/* Menus */
|
||||
|
||||
IDR_MENU_SCIENTIFIC_1 MENU
|
||||
BEGIN
|
||||
POPUP "編輯"
|
||||
BEGIN
|
||||
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "查看"
|
||||
BEGIN
|
||||
MENUITEM "標準型", IDM_VIEW_STANDARD
|
||||
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "轉換", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "角度\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "弧度\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "梯度\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "說明"
|
||||
BEGIN
|
||||
MENUITEM "說明主題", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "關於 ReactOS 計數機", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_SCIENTIFIC_2 MENU
|
||||
BEGIN
|
||||
POPUP "編輯"
|
||||
BEGIN
|
||||
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "查看"
|
||||
BEGIN
|
||||
MENUITEM "標準型", IDM_VIEW_STANDARD
|
||||
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "轉換", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "位元組\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "說明"
|
||||
BEGIN
|
||||
MENUITEM "說明主題", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "關於 ReactOS 計數機", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_STANDARD MENU
|
||||
BEGIN
|
||||
POPUP "編輯"
|
||||
BEGIN
|
||||
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "查看"
|
||||
BEGIN
|
||||
MENUITEM "標準型", IDM_VIEW_STANDARD
|
||||
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "轉換", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "說明"
|
||||
BEGIN
|
||||
MENUITEM "說明主題", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "關於 ReactOS 計數機", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
/* String Tables */
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MATH_ERROR "錯誤"
|
||||
IDS_QUICKHELP "快速說明"
|
||||
END
|
||||
|
||||
/* About */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CALC_NAME "ReactOS 計數機"
|
||||
IDS_AUTHOR "作者 Carlo Bramini"
|
||||
END
|
||||
|
||||
/* Types of conversion */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONV_ANGLE "角度"
|
||||
IDS_CONV_AREA "面積"
|
||||
IDS_CONV_CONSUMPTION "油耗(引擎)"
|
||||
IDS_CONV_CURRENCY "貨幣"
|
||||
IDS_CONV_ENERGY "能量"
|
||||
IDS_CONV_LENGTH "長度"
|
||||
IDS_CONV_POWER "功率"
|
||||
IDS_CONV_PRESSURE "壓力"
|
||||
IDS_CONV_TEMPERATURE "溫度"
|
||||
IDS_CONV_TIME "時間"
|
||||
IDS_CONV_VELOCITY "速度"
|
||||
IDS_CONV_VOLUME "體積"
|
||||
IDS_CONV_WEIGHT "質量"
|
||||
END
|
||||
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "角分"
|
||||
IDS_ANGLE_ARCSECONDS "角秒"
|
||||
IDS_ANGLE_DEGREES "角度"
|
||||
IDS_ANGLE_GRADIANS "梯度"
|
||||
IDS_ANGLE_RADIANS "弧度"
|
||||
END
|
||||
|
||||
/* Areas */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AREA_ACRES "英畝"
|
||||
IDS_AREA_ACRES_BRAZIL "英畝(巴西)"
|
||||
IDS_AREA_ACRES_FRANCE "英畝(法國)"
|
||||
IDS_AREA_ACRES_SCOTS "英畝(蘇格蘭)"
|
||||
IDS_AREA_ACRES_US "英畝(美國)"
|
||||
IDS_AREA_ARES "公畝"
|
||||
IDS_AREA_CHOU "疇"
|
||||
IDS_AREA_DANBO "大畝"
|
||||
IDS_AREA_HECTARES "公頃"
|
||||
IDS_AREA_JEONGBO "Jeongbo"
|
||||
IDS_AREA_MORGEN_HUNGARY "摩根(匈牙利)"
|
||||
IDS_AREA_MU "畝"
|
||||
IDS_AREA_PING "坪"
|
||||
IDS_AREA_PYEONG "坪(韓國)"
|
||||
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
|
||||
IDS_AREA_RAI "萊"
|
||||
IDS_AREA_SE "畝(日本)"
|
||||
IDS_AREA_SQUARE_CENTIMETERS "平方厘米"
|
||||
IDS_AREA_SQUARE_CHR "Square chr"
|
||||
IDS_AREA_SQUARE_FATHOMS "平方英尋"
|
||||
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英尋(匈牙利)"
|
||||
IDS_AREA_SQUARE_FEET "平方英尺"
|
||||
IDS_AREA_SQUARE_INCHES "平方英寸"
|
||||
IDS_AREA_SQUARE_KILOMETERS "平方公里"
|
||||
IDS_AREA_SQUARE_LAR "平方拉爾"
|
||||
IDS_AREA_SQUARE_METER "平方米"
|
||||
IDS_AREA_SQUARE_MILES "平方英里"
|
||||
IDS_AREA_SQUARE_MILLIMETERS "平方毫米"
|
||||
IDS_AREA_SQUARE_SHAKU "平方尺"
|
||||
IDS_AREA_SQUARE_TSUEN "平方寸"
|
||||
IDS_AREA_SQUARE_VA "Square va"
|
||||
IDS_AREA_SQUARE_YARD "平方碼"
|
||||
IDS_AREA_TAN "段"
|
||||
IDS_AREA_TSUBO "坪(日本)"
|
||||
END
|
||||
|
||||
/* Consumptions */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONSUMPTION_KM_PER_L "公里/升"
|
||||
IDS_CONSUMPTION_L_PER_100_KM "升/100 公里"
|
||||
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加侖(英國)"
|
||||
IDS_CONSUMPTION_MILES_GALLON_US "英里/加侖(美國)"
|
||||
END
|
||||
|
||||
/* Currencies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CURRENCY_AUSTRIAN_SCHILLING "奥地利先令"
|
||||
IDS_CURRENCY_BELGIAN_FRANC "比利時法郎"
|
||||
IDS_CURRENCY_CYPRIOT_POUND "賽普勒斯鎊"
|
||||
IDS_CURRENCY_CZECH_KORUNA "捷克克朗"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "德國馬克"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "荷蘭盾"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "愛沙尼亞克朗"
|
||||
IDS_CURRENCY_EURO "歐元"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "芬蘭馬克"
|
||||
IDS_CURRENCY_FRENCH_FRANC "法郎"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "希臘德拉克馬"
|
||||
IDS_CURRENCY_IRISH_POUND "愛爾蘭鎊"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "義大利里拉"
|
||||
IDS_CURRENCY_LATVIAN_LATS "拉脫維亞拉特"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "拉脫維亞拉分"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "盧森堡法郎"
|
||||
IDS_CURRENCY_MALTESE_LIRA "馬爾他里拉"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "葡萄牙埃斯庫多"
|
||||
IDS_CURRENCY_SLOVAK_KORUNA "斯洛伐克克朗"
|
||||
IDS_CURRENCY_SLOVENIAN_TOLAR "斯洛維尼亞拖拉"
|
||||
IDS_CURRENCY_SPANISH_PESETA "西班牙比塞塔"
|
||||
END
|
||||
|
||||
/* Energies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ENERGY_15_C_CALORIES "15 °C 卡路里"
|
||||
IDS_ENERGY_BTUS "英制熱量單位"
|
||||
IDS_ENERGY_ERGS "爾格"
|
||||
IDS_ENERGY_EVS "電子伏特"
|
||||
IDS_ENERGY_FOOT_POUNDS "英尺-磅"
|
||||
IDS_ENERGY_IT_CALORIES "國際蒸汽表卡路里"
|
||||
IDS_ENERGY_IT_KILOCALORIES "國際蒸汽表千卡路里"
|
||||
IDS_ENERGY_JOULES "焦耳"
|
||||
IDS_ENERGY_KILOJOULES "千焦耳"
|
||||
IDS_ENERGY_KILOWATT_HOURS "千瓦時"
|
||||
IDS_ENERGY_NUTRITION_CALORIES "營養卡路里"
|
||||
IDS_ENERGY_TH_CALORIES "熱化學卡路里"
|
||||
END
|
||||
|
||||
/* Lengths */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LENGTH_ANGSTROMS "埃"
|
||||
IDS_LENGTH_ASTRONOMICAL_UNITS "天文單位"
|
||||
IDS_LENGTH_BARLEYCORNS "Barleycorns"
|
||||
IDS_LENGTH_CENTIMETERS "釐米"
|
||||
IDS_LENGTH_CHAINS_UK "鏈(英國)"
|
||||
IDS_LENGTH_CHI "尺"
|
||||
IDS_LENGTH_CHOU "疇"
|
||||
IDS_LENGTH_CHR "Chr"
|
||||
IDS_LENGTH_CUN "寸"
|
||||
IDS_LENGTH_FATHOMS "英尋"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "英尋(匈牙利)"
|
||||
IDS_LENGTH_FEET "英尺"
|
||||
IDS_LENGTH_FURLONGS "化朗"
|
||||
IDS_LENGTH_GAN "杆"
|
||||
IDS_LENGTH_HANDS "掌寬"
|
||||
IDS_LENGTH_HUNH "Hunh"
|
||||
IDS_LENGTH_INCHES "英尺"
|
||||
IDS_LENGTH_JA "尺(韓國)"
|
||||
IDS_LENGTH_JEONG "Jeong"
|
||||
IDS_LENGTH_KABIET "Kabiet"
|
||||
IDS_LENGTH_KEN "Ken"
|
||||
IDS_LENGTH_KEUB "Keub"
|
||||
IDS_LENGTH_KILOMETERS "公里"
|
||||
IDS_LENGTH_LAR "拉爾"
|
||||
IDS_LENGTH_LIGHT_YEARS "光年"
|
||||
IDS_LENGTH_LINKS_UK "Links(英國)"
|
||||
IDS_LENGTH_METERS "米"
|
||||
IDS_LENGTH_MICRONS "微米"
|
||||
IDS_LENGTH_MILES "英里"
|
||||
IDS_LENGTH_MILLIMETERS "毫米"
|
||||
IDS_LENGTH_NAUTICAL_MILES "海里"
|
||||
IDS_LENGTH_NIEU "Nieu"
|
||||
IDS_LENGTH_PARSECS "秒差距"
|
||||
IDS_LENGTH_PICAS "派卡"
|
||||
IDS_LENGTH_RI_JAPAN "里(日本)"
|
||||
IDS_LENGTH_RI_KOREA "里(韓國)"
|
||||
IDS_LENGTH_RODS "杆"
|
||||
IDS_LENGTH_SAWK "Sawk"
|
||||
IDS_LENGTH_SEN "Sen"
|
||||
IDS_LENGTH_SHAKU "尺(日本)"
|
||||
IDS_LENGTH_SPAN "拃"
|
||||
IDS_LENGTH_SUN "寸(日本)"
|
||||
IDS_LENGTH_TSUEN "寸"
|
||||
IDS_LENGTH_VA "Va"
|
||||
IDS_LENGTH_YARDS "碼"
|
||||
IDS_LENGTH_YOTE "約特"
|
||||
IDS_LENGTH_ZHANG "丈"
|
||||
END
|
||||
|
||||
/* Powers */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_POWER_BTUS_PER_MINUTE "英制熱量單位每分鐘"
|
||||
IDS_POWER_FPS_PER_MINUTE "英尺-磅每分鐘"
|
||||
IDS_POWER_HORSEPOWER "馬力"
|
||||
IDS_POWER_KILOWATTS "千瓦"
|
||||
IDS_POWER_MEGAWATTS "兆瓦"
|
||||
IDS_POWER_WATTS "瓦"
|
||||
END
|
||||
|
||||
/* Pressures */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PRESSURE_ATMOSPHERES "大氣壓"
|
||||
IDS_PRESSURE_BARS "巴"
|
||||
IDS_PRESSURE_HECTOPASCALS "百帕"
|
||||
IDS_PRESSURE_KILOPASCALS "千帕"
|
||||
IDS_PRESSURE_MM_OF_MERCURY "毫米汞柱"
|
||||
IDS_PRESSURE_PASCALS "帕斯卡"
|
||||
IDS_PRESSURE_PSI "英磅-力每平方英尺"
|
||||
END
|
||||
|
||||
/* Temperatures */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TEMPERATURE_CELSIUS "攝氏度"
|
||||
IDS_TEMPERATURE_FAHRENHEIT "華氏度"
|
||||
IDS_TEMPERATURE_KELVIN "開爾文"
|
||||
IDS_TEMPERATURE_RANKINE "蘭金度"
|
||||
END
|
||||
|
||||
/* Time */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TIME_DAYS "日"
|
||||
IDS_TIME_HOURS "小時"
|
||||
IDS_TIME_NANOSECONDS "納秒"
|
||||
IDS_TIME_MICROSECONDS "微秒"
|
||||
IDS_TIME_MILLISECONDS "毫秒"
|
||||
IDS_TIME_MINUTES "分"
|
||||
IDS_TIME_SECONDS "秒"
|
||||
IDS_TIME_WEEKS "周"
|
||||
IDS_TIME_YEARS "年"
|
||||
END
|
||||
|
||||
/* Velocities */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VELOCITY_CMS_SECOND "厘米/小時"
|
||||
IDS_VELOCITY_FEET_HOUR "英尺/小時"
|
||||
IDS_VELOCITY_FEET_SECOND "英尺/秒"
|
||||
IDS_VELOCITY_KILOMETERS_HOUR "公里/小時"
|
||||
IDS_VELOCITY_KNOTS "節"
|
||||
IDS_VELOCITY_MACH "馬赫"
|
||||
IDS_VELOCITY_METERS_SECOND "米/秒"
|
||||
IDS_VELOCITY_MILES_HOUR "英里/小時"
|
||||
END
|
||||
|
||||
/* Volumes */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VOLUME_BARRELS_UK "桶(英國)"
|
||||
IDS_VOLUME_BARRELS_OIL "桶油"
|
||||
IDS_VOLUME_BUN "Bun"
|
||||
IDS_VOLUME_BUSHELS_UK "蒲式耳(英國)"
|
||||
IDS_VOLUME_BUSHELS_US "蒲式耳(美國)"
|
||||
IDS_VOLUME_CUBIC_CENTIMETERS "立方釐米"
|
||||
IDS_VOLUME_CUBIC_FEET "立方英尺"
|
||||
IDS_VOLUME_CUBIC_INCHES "立方英寸"
|
||||
IDS_VOLUME_CUBIC_METERS "立方米"
|
||||
IDS_VOLUME_CUBIC_YARDS "立方碼"
|
||||
IDS_VOLUME_DOE "Doe"
|
||||
IDS_VOLUME_FLUID_OUNCES_UK "液安士(英國)"
|
||||
IDS_VOLUME_FLUID_OUNCES_US "液安士(美國)"
|
||||
IDS_VOLUME_GALLONS_UK "加侖(英國)"
|
||||
IDS_VOLUME_GALLONS_DRY_US "乾量加侖(美國)"
|
||||
IDS_VOLUME_GALLONS_LIQUID_US "濕量加侖(美國)"
|
||||
IDS_VOLUME_GOU "合"
|
||||
IDS_VOLUME_HOP "Hop"
|
||||
IDS_VOLUME_ICCE "Icce"
|
||||
IDS_VOLUME_KWIAN "Kwian"
|
||||
IDS_VOLUME_LITERS "升"
|
||||
IDS_VOLUME_MAL "Mal"
|
||||
IDS_VOLUME_MILLILITERS "毫升"
|
||||
IDS_VOLUME_PINTS_UK "品脱(英國)"
|
||||
IDS_VOLUME_PINTS_DRY_US "乾量品脱(美國)"
|
||||
IDS_VOLUME_PINTS_LIQUID_US "濕量品脱(美國)"
|
||||
IDS_VOLUME_QUARTS_UK "夸脫(英國)"
|
||||
IDS_VOLUME_QUARTS_DRY_US "乾量夸脫(美國)"
|
||||
IDS_VOLUME_QUARTS_LIQUID_US "濕量夸脫(美國)"
|
||||
IDS_VOLUME_SEKI "Seki"
|
||||
IDS_VOLUME_SYOU "Syou"
|
||||
IDS_VOLUME_TANANLOUNG "Tananloung"
|
||||
IDS_VOLUME_TANG "Tang"
|
||||
IDS_VOLUME_TO "斗(日本)"
|
||||
END
|
||||
|
||||
/* Weights */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_WEIGHT_BAHT "銖"
|
||||
IDS_WEIGHT_CARATS "克拉"
|
||||
IDS_WEIGHT_CHUNG "Chung"
|
||||
IDS_WEIGHT_DON "Don"
|
||||
IDS_WEIGHT_GEUN "Geun"
|
||||
IDS_WEIGHT_GRAMS "克"
|
||||
IDS_WEIGHT_GWAN "Gwan"
|
||||
IDS_WEIGHT_HARB "Harb"
|
||||
IDS_WEIGHT_JIN_CHINA "斤(中國)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "斤(台灣)"
|
||||
IDS_WEIGHT_KAN "貫(日本)"
|
||||
IDS_WEIGHT_KILOGRAMS "千克"
|
||||
IDS_WEIGHT_KIN "斤(日本)"
|
||||
IDS_WEIGHT_LIANG_CHINA "兩(中國)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "兩(台灣)"
|
||||
IDS_WEIGHT_MONME "兩(日本)"
|
||||
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "常衡安士"
|
||||
IDS_WEIGHT_OUNCES_TROY "金衡安士"
|
||||
IDS_WEIGHT_POUNDS "英磅"
|
||||
IDS_WEIGHT_QUINTAL_METRIC "公擔"
|
||||
IDS_WEIGHT_SALOUNG "Saloung"
|
||||
IDS_WEIGHT_STONES "石"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
IDS_WEIGHT_TONNES "噸"
|
||||
IDS_WEIGHT_TONS_UK "噸(英國)"
|
||||
IDS_WEIGHT_TONS_US "噸(美國)"
|
||||
END
|
@@ -1,711 +0,0 @@
|
||||
// Traditional Chinese translation by 2021 Chan Chilung <eason066@gmail.com>
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
|
||||
|
||||
/* Dialogs */
|
||||
|
||||
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 計算機"
|
||||
MENU IDR_MENU_SCIENTIFIC_1
|
||||
FONT 9, "新細明體", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
|
||||
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
|
||||
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
|
||||
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
|
||||
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
|
||||
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
|
||||
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
|
||||
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
|
||||
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
|
||||
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 150, 21, 38, 10
|
||||
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 190, 21, 38, 10
|
||||
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 230, 21, 38, 10
|
||||
CONTROL "位元組", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
|
||||
NOT WS_VISIBLE, 270, 21, 38, 10
|
||||
CONTROL "角度", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
|
||||
CONTROL "弧度", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
|
||||
CONTROL "梯度", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Back", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 計算機"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 9, "新細明體", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Back", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
|
||||
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
|
||||
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 計算機"
|
||||
MENU IDR_MENU_STANDARD
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
PUSHBUTTON "轉換", IDC_BUTTON_CONVERT, 35, 105, 76, 17
|
||||
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "類別:", IDC_STATIC, 5, 20, 56, 8
|
||||
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "從...轉換:", IDC_STATIC, 5, 49, 56, 8
|
||||
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | CBS_SORT
|
||||
LTEXT "轉換為:", IDC_STATIC, 5, 76, 56, 8
|
||||
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
|
||||
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
|
||||
CONTROL "Back", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
|
||||
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
|
||||
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
|
||||
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
|
||||
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
|
||||
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
|
||||
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
|
||||
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
|
||||
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
|
||||
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
|
||||
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
|
||||
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
|
||||
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
|
||||
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
|
||||
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
|
||||
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
|
||||
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
|
||||
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
|
||||
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
|
||||
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
|
||||
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
|
||||
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
|
||||
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
|
||||
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
|
||||
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
|
||||
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
|
||||
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
|
||||
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
|
||||
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "統計框"
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "返回", IDC_BUTTON_RET, 4, 48, 36, 16
|
||||
PUSHBUTTON "載入", IDC_BUTTON_LOAD, 44, 48, 36, 16
|
||||
PUSHBUTTON "清除", IDC_BUTTON_CD, 84, 48, 36, 16
|
||||
PUSHBUTTON "全清", IDC_BUTTON_CAD, 124, 48, 36, 16
|
||||
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
|
||||
END
|
||||
|
||||
/* Menus */
|
||||
|
||||
IDR_MENU_SCIENTIFIC_1 MENU
|
||||
BEGIN
|
||||
POPUP "編輯"
|
||||
BEGIN
|
||||
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "查看"
|
||||
BEGIN
|
||||
MENUITEM "標準型", IDM_VIEW_STANDARD
|
||||
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "轉換", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "角度\tF2", IDM_VIEW_DEG, CHECKED
|
||||
MENUITEM "弧度\tF3", IDM_VIEW_RAD, CHECKED
|
||||
MENUITEM "梯度\tF4", IDM_VIEW_GRAD, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "說明"
|
||||
BEGIN
|
||||
MENUITEM "說明主題", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "關於 ReactOS 計算機", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_SCIENTIFIC_2 MENU
|
||||
BEGIN
|
||||
POPUP "編輯"
|
||||
BEGIN
|
||||
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "查看"
|
||||
BEGIN
|
||||
MENUITEM "標準型", IDM_VIEW_STANDARD
|
||||
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "轉換", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
|
||||
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
|
||||
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
|
||||
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
|
||||
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
|
||||
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
|
||||
MENUITEM "位元組\tF4", IDM_VIEW_BYTE, CHECKED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "說明"
|
||||
BEGIN
|
||||
MENUITEM "說明主題", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "關於 ReactOS 計算機", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_MENU_STANDARD MENU
|
||||
BEGIN
|
||||
POPUP "編輯"
|
||||
BEGIN
|
||||
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
|
||||
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
|
||||
END
|
||||
POPUP "查看"
|
||||
BEGIN
|
||||
MENUITEM "標準型", IDM_VIEW_STANDARD
|
||||
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
|
||||
MENUITEM "轉換", IDM_VIEW_CONVERSION
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
|
||||
END
|
||||
POPUP "說明"
|
||||
BEGIN
|
||||
MENUITEM "說明主題", IDM_HELP_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "關於 ReactOS 計算機", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
/* String Tables */
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_MATH_ERROR "錯誤"
|
||||
IDS_QUICKHELP "快速說明"
|
||||
END
|
||||
|
||||
/* About */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CALC_NAME "ReactOS 計算機"
|
||||
IDS_AUTHOR "作者 Carlo Bramini"
|
||||
END
|
||||
|
||||
/* Types of conversion */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONV_ANGLE "角度"
|
||||
IDS_CONV_AREA "面積"
|
||||
IDS_CONV_CONSUMPTION "油耗 (引擎)"
|
||||
IDS_CONV_CURRENCY "貨幣"
|
||||
IDS_CONV_ENERGY "能量"
|
||||
IDS_CONV_LENGTH "長度"
|
||||
IDS_CONV_POWER "功率"
|
||||
IDS_CONV_PRESSURE "壓力"
|
||||
IDS_CONV_TEMPERATURE "溫度"
|
||||
IDS_CONV_TIME "時間"
|
||||
IDS_CONV_VELOCITY "速度"
|
||||
IDS_CONV_VOLUME "體積"
|
||||
IDS_CONV_WEIGHT "質量"
|
||||
END
|
||||
|
||||
/* Angles */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ANGLE_ARCMINUTES "角分"
|
||||
IDS_ANGLE_ARCSECONDS "角秒"
|
||||
IDS_ANGLE_DEGREES "角度"
|
||||
IDS_ANGLE_GRADIANS "梯度"
|
||||
IDS_ANGLE_RADIANS "弧度"
|
||||
END
|
||||
|
||||
/* Areas */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_AREA_ACRES "英畝"
|
||||
IDS_AREA_ACRES_BRAZIL "英畝 (巴西)"
|
||||
IDS_AREA_ACRES_FRANCE "英畝 (法國)"
|
||||
IDS_AREA_ACRES_SCOTS "英畝 (蘇格蘭)"
|
||||
IDS_AREA_ACRES_US "英畝 (美國)"
|
||||
IDS_AREA_ARES "公畝"
|
||||
IDS_AREA_CHOU "疇"
|
||||
IDS_AREA_DANBO "大畝"
|
||||
IDS_AREA_HECTARES "公頃"
|
||||
IDS_AREA_JEONGBO "Jeongbo"
|
||||
IDS_AREA_MORGEN_HUNGARY "摩根 (匈牙利)"
|
||||
IDS_AREA_MU "畝"
|
||||
IDS_AREA_PING "坪"
|
||||
IDS_AREA_PYEONG "坪 (韓國)"
|
||||
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
|
||||
IDS_AREA_RAI "萊"
|
||||
IDS_AREA_SE "畝 (日本)"
|
||||
IDS_AREA_SQUARE_CENTIMETERS "平方釐米"
|
||||
IDS_AREA_SQUARE_CHR "Square chr"
|
||||
IDS_AREA_SQUARE_FATHOMS "平方英尋"
|
||||
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英尋 (匈牙利)"
|
||||
IDS_AREA_SQUARE_FEET "平方英尺"
|
||||
IDS_AREA_SQUARE_INCHES "平方英寸"
|
||||
IDS_AREA_SQUARE_KILOMETERS "平方公里"
|
||||
IDS_AREA_SQUARE_LAR "平方拉爾"
|
||||
IDS_AREA_SQUARE_METER "平方米"
|
||||
IDS_AREA_SQUARE_MILES "平方英里"
|
||||
IDS_AREA_SQUARE_MILLIMETERS "平方毫米"
|
||||
IDS_AREA_SQUARE_SHAKU "平方尺"
|
||||
IDS_AREA_SQUARE_TSUEN "平方寸"
|
||||
IDS_AREA_SQUARE_VA "Square va"
|
||||
IDS_AREA_SQUARE_YARD "平方碼"
|
||||
IDS_AREA_TAN "段"
|
||||
IDS_AREA_TSUBO "坪 (日本)"
|
||||
END
|
||||
|
||||
/* Consumptions */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CONSUMPTION_KM_PER_L "公里/升"
|
||||
IDS_CONSUMPTION_L_PER_100_KM "升/100 公里"
|
||||
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加侖 (英國)"
|
||||
IDS_CONSUMPTION_MILES_GALLON_US "英里/加侖 (美國)"
|
||||
END
|
||||
|
||||
/* Currencies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CURRENCY_AUSTRIAN_SCHILLING "奥地利先令"
|
||||
IDS_CURRENCY_BELGIAN_FRANC "比利時法郎"
|
||||
IDS_CURRENCY_CYPRIOT_POUND "賽普勒斯鎊"
|
||||
IDS_CURRENCY_CZECH_KORUNA "捷克克朗"
|
||||
IDS_CURRENCY_DEUTSCHE_MARK "德國馬克"
|
||||
IDS_CURRENCY_DUTCH_GUILDER "荷蘭盾"
|
||||
IDS_CURRENCY_ESTONIAN_KROON "愛沙尼亞克朗"
|
||||
IDS_CURRENCY_EURO "歐元"
|
||||
IDS_CURRENCY_FINNISH_MARKKA "芬蘭馬克"
|
||||
IDS_CURRENCY_FRENCH_FRANC "法郎"
|
||||
IDS_CURRENCY_GREEK_DRACHMA "希臘德拉克馬"
|
||||
IDS_CURRENCY_IRISH_POUND "愛爾蘭鎊"
|
||||
IDS_CURRENCY_ITALIAN_LIRA "義大利里拉"
|
||||
IDS_CURRENCY_LATVIAN_LATS "拉脫維亞拉特"
|
||||
IDS_CURRENCY_LITHUANIAN_LITAS "拉脫維亞拉分"
|
||||
IDS_CURRENCY_LUXEMBOURG_FRANC "盧森堡法郎"
|
||||
IDS_CURRENCY_MALTESE_LIRA "馬爾他里拉"
|
||||
IDS_CURRENCY_PORTOGUESE_ESCUDO "葡萄牙埃斯庫多"
|
||||
IDS_CURRENCY_SLOVAK_KORUNA "斯洛伐克克朗"
|
||||
IDS_CURRENCY_SLOVENIAN_TOLAR "斯洛維尼亞拖拉"
|
||||
IDS_CURRENCY_SPANISH_PESETA "西班牙比塞塔"
|
||||
END
|
||||
|
||||
/* Energies */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_ENERGY_15_C_CALORIES "15 °C 卡路里"
|
||||
IDS_ENERGY_BTUS "英制熱量單位"
|
||||
IDS_ENERGY_ERGS "爾格"
|
||||
IDS_ENERGY_EVS "電子伏特"
|
||||
IDS_ENERGY_FOOT_POUNDS "英尺-磅"
|
||||
IDS_ENERGY_IT_CALORIES "國際蒸汽表卡路里"
|
||||
IDS_ENERGY_IT_KILOCALORIES "國際蒸汽表千卡路里"
|
||||
IDS_ENERGY_JOULES "焦耳"
|
||||
IDS_ENERGY_KILOJOULES "千焦耳"
|
||||
IDS_ENERGY_KILOWATT_HOURS "千瓦時"
|
||||
IDS_ENERGY_NUTRITION_CALORIES "營養卡路里"
|
||||
IDS_ENERGY_TH_CALORIES "熱化學卡路里"
|
||||
END
|
||||
|
||||
/* Lengths */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_LENGTH_ANGSTROMS "埃"
|
||||
IDS_LENGTH_ASTRONOMICAL_UNITS "天文單位"
|
||||
IDS_LENGTH_BARLEYCORNS "Barleycorns"
|
||||
IDS_LENGTH_CENTIMETERS "釐米"
|
||||
IDS_LENGTH_CHAINS_UK "鏈 (英國)"
|
||||
IDS_LENGTH_CHI "尺"
|
||||
IDS_LENGTH_CHOU "疇"
|
||||
IDS_LENGTH_CHR "Chr"
|
||||
IDS_LENGTH_CUN "寸"
|
||||
IDS_LENGTH_FATHOMS "英尋"
|
||||
IDS_LENGTH_FATHOMS_HUNGARY "英尋 (匈牙利)"
|
||||
IDS_LENGTH_FEET "英尺"
|
||||
IDS_LENGTH_FURLONGS "化朗"
|
||||
IDS_LENGTH_GAN "杆"
|
||||
IDS_LENGTH_HANDS "掌寬"
|
||||
IDS_LENGTH_HUNH "Hunh"
|
||||
IDS_LENGTH_INCHES "英尺"
|
||||
IDS_LENGTH_JA "尺 (韓國)"
|
||||
IDS_LENGTH_JEONG "Jeong"
|
||||
IDS_LENGTH_KABIET "Kabiet"
|
||||
IDS_LENGTH_KEN "Ken"
|
||||
IDS_LENGTH_KEUB "Keub"
|
||||
IDS_LENGTH_KILOMETERS "公里"
|
||||
IDS_LENGTH_LAR "拉爾"
|
||||
IDS_LENGTH_LIGHT_YEARS "光年"
|
||||
IDS_LENGTH_LINKS_UK "Links (英國)"
|
||||
IDS_LENGTH_METERS "米"
|
||||
IDS_LENGTH_MICRONS "微米"
|
||||
IDS_LENGTH_MILES "英里"
|
||||
IDS_LENGTH_MILLIMETERS "毫米"
|
||||
IDS_LENGTH_NAUTICAL_MILES "海里"
|
||||
IDS_LENGTH_NIEU "Nieu"
|
||||
IDS_LENGTH_PARSECS "秒差距"
|
||||
IDS_LENGTH_PICAS "派卡"
|
||||
IDS_LENGTH_RI_JAPAN "里 (日本)"
|
||||
IDS_LENGTH_RI_KOREA "里 (韓國)"
|
||||
IDS_LENGTH_RODS "杆"
|
||||
IDS_LENGTH_SAWK "Sawk"
|
||||
IDS_LENGTH_SEN "Sen"
|
||||
IDS_LENGTH_SHAKU "尺 (日本)"
|
||||
IDS_LENGTH_SPAN "拃"
|
||||
IDS_LENGTH_SUN "寸 (日本)"
|
||||
IDS_LENGTH_TSUEN "寸"
|
||||
IDS_LENGTH_VA "Va"
|
||||
IDS_LENGTH_YARDS "碼"
|
||||
IDS_LENGTH_YOTE "約特"
|
||||
IDS_LENGTH_ZHANG "丈"
|
||||
END
|
||||
|
||||
/* Powers */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_POWER_BTUS_PER_MINUTE "英制熱量單位每分鐘"
|
||||
IDS_POWER_FPS_PER_MINUTE "英尺-磅每分鐘"
|
||||
IDS_POWER_HORSEPOWER "馬力"
|
||||
IDS_POWER_KILOWATTS "千瓦"
|
||||
IDS_POWER_MEGAWATTS "兆瓦"
|
||||
IDS_POWER_WATTS "瓦"
|
||||
END
|
||||
|
||||
/* Pressures */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PRESSURE_ATMOSPHERES "大氣壓"
|
||||
IDS_PRESSURE_BARS "巴"
|
||||
IDS_PRESSURE_HECTOPASCALS "百帕"
|
||||
IDS_PRESSURE_KILOPASCALS "千帕"
|
||||
IDS_PRESSURE_MM_OF_MERCURY "毫米汞柱"
|
||||
IDS_PRESSURE_PASCALS "帕斯卡"
|
||||
IDS_PRESSURE_PSI "英磅-力每平方英尺"
|
||||
END
|
||||
|
||||
/* Temperatures */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TEMPERATURE_CELSIUS "攝氏度"
|
||||
IDS_TEMPERATURE_FAHRENHEIT "華氏度"
|
||||
IDS_TEMPERATURE_KELVIN "開爾文"
|
||||
IDS_TEMPERATURE_RANKINE "蘭金度"
|
||||
END
|
||||
|
||||
/* Time */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TIME_DAYS "日"
|
||||
IDS_TIME_HOURS "小時"
|
||||
IDS_TIME_NANOSECONDS "納秒"
|
||||
IDS_TIME_MICROSECONDS "微秒"
|
||||
IDS_TIME_MILLISECONDS "毫秒"
|
||||
IDS_TIME_MINUTES "分"
|
||||
IDS_TIME_SECONDS "秒"
|
||||
IDS_TIME_WEEKS "周"
|
||||
IDS_TIME_YEARS "年"
|
||||
END
|
||||
|
||||
/* Velocities */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VELOCITY_CMS_SECOND "釐米/小時"
|
||||
IDS_VELOCITY_FEET_HOUR "英尺/小時"
|
||||
IDS_VELOCITY_FEET_SECOND "英尺/秒"
|
||||
IDS_VELOCITY_KILOMETERS_HOUR "公里/小時"
|
||||
IDS_VELOCITY_KNOTS "節"
|
||||
IDS_VELOCITY_MACH "馬赫"
|
||||
IDS_VELOCITY_METERS_SECOND "米/秒"
|
||||
IDS_VELOCITY_MILES_HOUR "英里/小時"
|
||||
END
|
||||
|
||||
/* Volumes */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_VOLUME_BARRELS_UK "桶 (英國)"
|
||||
IDS_VOLUME_BARRELS_OIL "桶油"
|
||||
IDS_VOLUME_BUN "Bun"
|
||||
IDS_VOLUME_BUSHELS_UK "蒲式耳 (英國)"
|
||||
IDS_VOLUME_BUSHELS_US "蒲式耳 (美國)"
|
||||
IDS_VOLUME_CUBIC_CENTIMETERS "立方釐米"
|
||||
IDS_VOLUME_CUBIC_FEET "立方英尺"
|
||||
IDS_VOLUME_CUBIC_INCHES "立方英寸"
|
||||
IDS_VOLUME_CUBIC_METERS "立方米"
|
||||
IDS_VOLUME_CUBIC_YARDS "立方碼"
|
||||
IDS_VOLUME_DOE "Doe"
|
||||
IDS_VOLUME_FLUID_OUNCES_UK "液盎司 (英國)"
|
||||
IDS_VOLUME_FLUID_OUNCES_US "液盎司 (美國)"
|
||||
IDS_VOLUME_GALLONS_UK "加侖 (英國)"
|
||||
IDS_VOLUME_GALLONS_DRY_US "乾量加侖 (美國)"
|
||||
IDS_VOLUME_GALLONS_LIQUID_US "濕量加侖 (美國)"
|
||||
IDS_VOLUME_GOU "合"
|
||||
IDS_VOLUME_HOP "Hop"
|
||||
IDS_VOLUME_ICCE "Icce"
|
||||
IDS_VOLUME_KWIAN "Kwian"
|
||||
IDS_VOLUME_LITERS "升"
|
||||
IDS_VOLUME_MAL "Mal"
|
||||
IDS_VOLUME_MILLILITERS "毫升"
|
||||
IDS_VOLUME_PINTS_UK "品脱 (英國)"
|
||||
IDS_VOLUME_PINTS_DRY_US "乾量品脱 (美國)"
|
||||
IDS_VOLUME_PINTS_LIQUID_US "濕量品脱 (美國)"
|
||||
IDS_VOLUME_QUARTS_UK "夸脫 (英國)"
|
||||
IDS_VOLUME_QUARTS_DRY_US "乾量夸脫 (美國)"
|
||||
IDS_VOLUME_QUARTS_LIQUID_US "濕量夸脫 (美國)"
|
||||
IDS_VOLUME_SEKI "Seki"
|
||||
IDS_VOLUME_SYOU "Syou"
|
||||
IDS_VOLUME_TANANLOUNG "Tananloung"
|
||||
IDS_VOLUME_TANG "Tang"
|
||||
IDS_VOLUME_TO "斗 (日本)"
|
||||
END
|
||||
|
||||
/* Weights */
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_WEIGHT_BAHT "銖"
|
||||
IDS_WEIGHT_CARATS "克拉"
|
||||
IDS_WEIGHT_CHUNG "Chung"
|
||||
IDS_WEIGHT_DON "Don"
|
||||
IDS_WEIGHT_GEUN "Geun"
|
||||
IDS_WEIGHT_GRAMS "克"
|
||||
IDS_WEIGHT_GWAN "Gwan"
|
||||
IDS_WEIGHT_HARB "Harb"
|
||||
IDS_WEIGHT_JIN_CHINA "斤 (中國)"
|
||||
IDS_WEIGHT_JIN_TAIWAN "斤 (臺灣)"
|
||||
IDS_WEIGHT_KAN "貫 (日本)"
|
||||
IDS_WEIGHT_KILOGRAMS "千克"
|
||||
IDS_WEIGHT_KIN "斤 (日本)"
|
||||
IDS_WEIGHT_LIANG_CHINA "兩 (中國)"
|
||||
IDS_WEIGHT_LIANG_TAIWAN "兩 (臺灣)"
|
||||
IDS_WEIGHT_MONME "兩 (日本)"
|
||||
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "常衡盎司"
|
||||
IDS_WEIGHT_OUNCES_TROY "金衡盎司"
|
||||
IDS_WEIGHT_POUNDS "英磅"
|
||||
IDS_WEIGHT_QUINTAL_METRIC "公擔"
|
||||
IDS_WEIGHT_SALOUNG "Saloung"
|
||||
IDS_WEIGHT_STONES "石"
|
||||
IDS_WEIGHT_TAMLUNG "Tamlung"
|
||||
IDS_WEIGHT_TONNES "噸"
|
||||
IDS_WEIGHT_TONS_UK "噸 (英國)"
|
||||
IDS_WEIGHT_TONS_US "噸 (美國)"
|
||||
END
|
BIN
base/applications/calc/res/calc_sm.ico
Normal file
BIN
base/applications/calc/res/calc_sm.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
@@ -1,136 +1,126 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef IDC_STATIC
|
||||
#define IDC_STATIC -1
|
||||
#endif
|
||||
|
||||
#define IDS_CALC_NAME 1
|
||||
#define IDS_MATH_ERROR 2
|
||||
#define IDS_QUICKHELP 3
|
||||
#define IDS_AUTHOR 4
|
||||
#define IDD_DIALOG_SCIENTIFIC 101
|
||||
#define IDD_DIALOG_STANDARD 102
|
||||
// #define IDD_DIALOG_ABOUT 103
|
||||
#define IDD_DIALOG_STAT 104
|
||||
#define IDD_DIALOG_CONVERSION 105
|
||||
#define IDR_MENU_SCIENTIFIC_1 106
|
||||
#define IDR_MENU_SCIENTIFIC_2 107
|
||||
#define IDR_MENU_STANDARD 108
|
||||
// #define IDB_BITMAP_ROS 109
|
||||
#define IDI_CALC 110
|
||||
#define IDC_RADIO_HEX 1002
|
||||
#define IDC_RADIO_DEC 1003
|
||||
#define IDC_RADIO_OCT 1004
|
||||
#define IDC_RADIO_BIN 1005
|
||||
#define IDC_CHECK_INV 1006
|
||||
#define IDC_CHECK_HYP 1007
|
||||
#define IDC_BUTTON_STA 1009
|
||||
#define IDC_BUTTON_AVE 1010
|
||||
#define IDC_BUTTON_SUM 1011
|
||||
#define IDC_BUTTON_S 1012
|
||||
#define IDC_BUTTON_DAT 1013
|
||||
#define IDC_BUTTON_FE 1014
|
||||
#define IDC_BUTTON_DMS 1015
|
||||
#define IDC_BUTTON_SIN 1016
|
||||
#define IDC_BUTTON_COS 1017
|
||||
#define IDC_BUTTON_TAN 1018
|
||||
#define IDC_BUTTON_LEFTPAR 1019
|
||||
#define IDC_BUTTON_EXP 1020
|
||||
#define IDC_BUTTON_XeY 1021
|
||||
#define IDC_BUTTON_Xe2 1022
|
||||
#define IDC_BUTTON_Xe3 1023
|
||||
#define IDC_BUTTON_RIGHTPAR 1024
|
||||
#define IDC_BUTTON_LN 1025
|
||||
#define IDC_BUTTON_LOG 1026
|
||||
#define IDC_BUTTON_NF 1027
|
||||
#define IDC_BUTTON_RX 1028
|
||||
#define IDC_BUTTON_MC 1029
|
||||
#define IDC_BUTTON_MR 1030
|
||||
#define IDC_BUTTON_MS 1031
|
||||
#define IDC_BUTTON_MP 1032
|
||||
#define IDC_BUTTON_PI 1033
|
||||
#define IDC_BUTTON_7 1034
|
||||
#define IDC_BUTTON_4 1035
|
||||
#define IDC_BUTTON_1 1036
|
||||
#define IDC_BUTTON_0 1037
|
||||
#define IDC_BUTTON_A 1038
|
||||
#define IDC_BUTTON_8 1039
|
||||
#define IDC_BUTTON_5 1040
|
||||
#define IDC_BUTTON_2 1041
|
||||
#define IDC_BUTTON_SIGN 1042
|
||||
#define IDC_BUTTON_B 1043
|
||||
#define IDC_BUTTON_9 1044
|
||||
#define IDC_BUTTON_6 1045
|
||||
#define IDC_BUTTON_3 1046
|
||||
#define IDC_BUTTON_DOT 1047
|
||||
#define IDC_BUTTON_C 1048
|
||||
#define IDC_BUTTON_DIV 1049
|
||||
#define IDC_BUTTON_MULT 1050
|
||||
#define IDC_BUTTON_SUB 1051
|
||||
#define IDC_BUTTON_ADD 1052
|
||||
#define IDC_BUTTON_D 1053
|
||||
#define IDC_BUTTON_MOD 1054
|
||||
#define IDC_BUTTON_OR 1055
|
||||
#define IDC_BUTTON_LSH 1056
|
||||
#define IDC_BUTTON_EQU 1057
|
||||
#define IDC_BUTTON_E 1058
|
||||
#define IDC_BUTTON_AND 1059
|
||||
#define IDC_BUTTON_XOR 1060
|
||||
#define IDC_BUTTON_NOT 1061
|
||||
#define IDC_BUTTON_INT 1062
|
||||
#define IDC_BUTTON_F 1063
|
||||
#define IDC_RADIO_QWORD 1064
|
||||
#define IDC_RADIO_DWORD 1065
|
||||
#define IDC_RADIO_WORD 1066
|
||||
#define IDC_RADIO_BYTE 1067
|
||||
#define IDC_RADIO_DEG 1068
|
||||
#define IDC_RADIO_RAD 1069
|
||||
#define IDC_RADIO_GRAD 1070
|
||||
#define IDC_BUTTON_CANC 1071
|
||||
#define IDC_BUTTON_CE 1072
|
||||
#define IDC_BUTTON_BACK 1073
|
||||
#define IDC_TEXT_OUTPUT 1074
|
||||
#define IDC_TEXT_PARENT 1075
|
||||
#define IDC_TEXT_MEMORY 1076
|
||||
// #define IDC_EDIT_LICENSE 1078
|
||||
#define IDC_LIST_STAT 1079
|
||||
#define IDC_BUTTON_RET 1080
|
||||
#define IDC_BUTTON_LOAD 1081
|
||||
#define IDC_BUTTON_CD 1082
|
||||
#define IDC_BUTTON_CAD 1083
|
||||
#define IDC_TEXT_NITEMS 1084
|
||||
#define IDC_BUTTON_SQRT 1085
|
||||
#define IDC_BUTTON_PERCENT 1086
|
||||
#define IDC_BUTTON_CONVERT 1087
|
||||
// #define IDC_TEXT_VERSION 1088
|
||||
#define IDC_BUTTON_FOCUS 1089
|
||||
#define IDC_COMBO_CATEGORY 1090
|
||||
#define IDC_COMBO_FROM 1091
|
||||
#define IDC_COMBO_TO 1092
|
||||
#define IDC_BUTTON_RSH 1093
|
||||
#define IDC_BUTTON_XrY 1094
|
||||
#define IDS_CALC_NAME 1
|
||||
#define IDS_MATH_ERROR 2
|
||||
#define IDS_QUICKHELP 3
|
||||
#define IDS_AUTHOR 4
|
||||
#define IDD_DIALOG_SCIENTIFIC 101
|
||||
#define IDD_DIALOG_STANDARD 102
|
||||
#define IDD_DIALOG_STAT 104
|
||||
#define IDD_DIALOG_CONVERSION 105
|
||||
#define IDR_MENU_SCIENTIFIC_1 106
|
||||
#define IDR_MENU_SCIENTIFIC_2 107
|
||||
#define IDR_MENU_STANDARD 108
|
||||
#define IDI_CALC_BIG 110
|
||||
#define IDI_CALC_SMALL 111
|
||||
#define IDC_RADIO_HEX 1002
|
||||
#define IDC_RADIO_DEC 1003
|
||||
#define IDC_RADIO_OCT 1004
|
||||
#define IDC_RADIO_BIN 1005
|
||||
#define IDC_CHECK_INV 1006
|
||||
#define IDC_CHECK_HYP 1007
|
||||
#define IDC_BUTTON_STA 1009
|
||||
#define IDC_BUTTON_AVE 1010
|
||||
#define IDC_BUTTON_SUM 1011
|
||||
#define IDC_BUTTON_S 1012
|
||||
#define IDC_BUTTON_DAT 1013
|
||||
#define IDC_BUTTON_FE 1014
|
||||
#define IDC_BUTTON_DMS 1015
|
||||
#define IDC_BUTTON_SIN 1016
|
||||
#define IDC_BUTTON_COS 1017
|
||||
#define IDC_BUTTON_TAN 1018
|
||||
#define IDC_BUTTON_LEFTPAR 1019
|
||||
#define IDC_BUTTON_EXP 1020
|
||||
#define IDC_BUTTON_XeY 1021
|
||||
#define IDC_BUTTON_Xe2 1022
|
||||
#define IDC_BUTTON_Xe3 1023
|
||||
#define IDC_BUTTON_RIGHTPAR 1024
|
||||
#define IDC_BUTTON_LN 1025
|
||||
#define IDC_BUTTON_LOG 1026
|
||||
#define IDC_BUTTON_NF 1027
|
||||
#define IDC_BUTTON_RX 1028
|
||||
#define IDC_BUTTON_MC 1029
|
||||
#define IDC_BUTTON_MR 1030
|
||||
#define IDC_BUTTON_MS 1031
|
||||
#define IDC_BUTTON_MP 1032
|
||||
#define IDC_BUTTON_PI 1033
|
||||
#define IDC_BUTTON_7 1034
|
||||
#define IDC_BUTTON_4 1035
|
||||
#define IDC_BUTTON_1 1036
|
||||
#define IDC_BUTTON_0 1037
|
||||
#define IDC_BUTTON_A 1038
|
||||
#define IDC_BUTTON_8 1039
|
||||
#define IDC_BUTTON_5 1040
|
||||
#define IDC_BUTTON_2 1041
|
||||
#define IDC_BUTTON_SIGN 1042
|
||||
#define IDC_BUTTON_B 1043
|
||||
#define IDC_BUTTON_9 1044
|
||||
#define IDC_BUTTON_6 1045
|
||||
#define IDC_BUTTON_3 1046
|
||||
#define IDC_BUTTON_DOT 1047
|
||||
#define IDC_BUTTON_C 1048
|
||||
#define IDC_BUTTON_DIV 1049
|
||||
#define IDC_BUTTON_MULT 1050
|
||||
#define IDC_BUTTON_SUB 1051
|
||||
#define IDC_BUTTON_ADD 1052
|
||||
#define IDC_BUTTON_D 1053
|
||||
#define IDC_BUTTON_MOD 1054
|
||||
#define IDC_BUTTON_OR 1055
|
||||
#define IDC_BUTTON_LSH 1056
|
||||
#define IDC_BUTTON_EQU 1057
|
||||
#define IDC_BUTTON_E 1058
|
||||
#define IDC_BUTTON_AND 1059
|
||||
#define IDC_BUTTON_XOR 1060
|
||||
#define IDC_BUTTON_NOT 1061
|
||||
#define IDC_BUTTON_INT 1062
|
||||
#define IDC_BUTTON_F 1063
|
||||
#define IDC_RADIO_QWORD 1064
|
||||
#define IDC_RADIO_DWORD 1065
|
||||
#define IDC_RADIO_WORD 1066
|
||||
#define IDC_RADIO_BYTE 1067
|
||||
#define IDC_RADIO_DEG 1068
|
||||
#define IDC_RADIO_RAD 1069
|
||||
#define IDC_RADIO_GRAD 1070
|
||||
#define IDC_BUTTON_CANC 1071
|
||||
#define IDC_BUTTON_CE 1072
|
||||
#define IDC_BUTTON_BACK 1073
|
||||
#define IDC_TEXT_OUTPUT 1074
|
||||
#define IDC_TEXT_PARENT 1075
|
||||
#define IDC_TEXT_MEMORY 1076
|
||||
#define IDC_LIST_STAT 1079
|
||||
#define IDC_BUTTON_RET 1080
|
||||
#define IDC_BUTTON_LOAD 1081
|
||||
#define IDC_BUTTON_CD 1082
|
||||
#define IDC_BUTTON_CAD 1083
|
||||
#define IDC_TEXT_NITEMS 1084
|
||||
#define IDC_BUTTON_SQRT 1085
|
||||
#define IDC_BUTTON_PERCENT 1086
|
||||
#define IDC_BUTTON_CONVERT 1087
|
||||
#define IDC_BUTTON_FOCUS 1089
|
||||
#define IDC_COMBO_CATEGORY 1090
|
||||
#define IDC_COMBO_FROM 1091
|
||||
#define IDC_COMBO_TO 1092
|
||||
#define IDC_BUTTON_RSH 1093
|
||||
|
||||
/* TYPES OF CONVERSIONS */
|
||||
#define IDS_CONV_ANGLE 2000
|
||||
#define IDS_CONV_AREA 2001
|
||||
#define IDS_CONV_CONSUMPTION 2002
|
||||
#define IDS_CONV_CURRENCY 2003
|
||||
#define IDS_CONV_ENERGY 2004
|
||||
#define IDS_CONV_LENGTH 2005
|
||||
#define IDS_CONV_POWER 2006
|
||||
#define IDS_CONV_PRESSURE 2007
|
||||
#define IDS_CONV_TEMPERATURE 2008
|
||||
#define IDS_CONV_TIME 2009
|
||||
#define IDS_CONV_VELOCITY 2010
|
||||
#define IDS_CONV_VOLUME 2011
|
||||
#define IDS_CONV_WEIGHT 2012
|
||||
#define IDS_CONV_ANGLE 2000
|
||||
#define IDS_CONV_AREA 2001
|
||||
#define IDS_CONV_CONSUMPTION 2002
|
||||
#define IDS_CONV_CURRENCY 2003
|
||||
#define IDS_CONV_ENERGY 2004
|
||||
#define IDS_CONV_LENGTH 2005
|
||||
#define IDS_CONV_POWER 2006
|
||||
#define IDS_CONV_PRESSURE 2007
|
||||
#define IDS_CONV_TEMPERATURE 2008
|
||||
#define IDS_CONV_TIME 2009
|
||||
#define IDS_CONV_VELOCITY 2010
|
||||
#define IDS_CONV_VOLUME 2011
|
||||
#define IDS_CONV_WEIGHT 2012
|
||||
|
||||
/* TYPES OF ANGLES */
|
||||
#define IDS_ANGLE_ARCMINUTES 2100
|
||||
#define IDS_ANGLE_ARCSECONDS 2101
|
||||
#define IDS_ANGLE_DEGREES 2102
|
||||
#define IDS_ANGLE_GRADIANS 2103
|
||||
#define IDS_ANGLE_RADIANS 2104
|
||||
#define IDS_ANGLE_DEGREES 2100
|
||||
#define IDS_ANGLE_GRADIANS 2101
|
||||
#define IDS_ANGLE_RADIANS 2102
|
||||
|
||||
/* TYPES OF AREAS */
|
||||
#define IDS_AREA_ACRES 2200
|
||||
@@ -181,210 +171,207 @@
|
||||
#define IDS_CURRENCY_CZECH_KORUNA 2403
|
||||
#define IDS_CURRENCY_DEUTSCHE_MARK 2404
|
||||
#define IDS_CURRENCY_DUTCH_GUILDER 2405
|
||||
#define IDS_CURRENCY_ESTONIAN_KROON 2406
|
||||
#define IDS_CURRENCY_EURO 2407
|
||||
#define IDS_CURRENCY_FINNISH_MARKKA 2408
|
||||
#define IDS_CURRENCY_FRENCH_FRANC 2409
|
||||
#define IDS_CURRENCY_GREEK_DRACHMA 2410
|
||||
#define IDS_CURRENCY_IRISH_POUND 2411
|
||||
#define IDS_CURRENCY_ITALIAN_LIRA 2412
|
||||
#define IDS_CURRENCY_LATVIAN_LATS 2413
|
||||
#define IDS_CURRENCY_LITHUANIAN_LITAS 2414
|
||||
#define IDS_CURRENCY_LUXEMBOURG_FRANC 2415
|
||||
#define IDS_CURRENCY_MALTESE_LIRA 2416
|
||||
#define IDS_CURRENCY_PORTOGUESE_ESCUDO 2417
|
||||
#define IDS_CURRENCY_SLOVAK_KORUNA 2418
|
||||
#define IDS_CURRENCY_SLOVENIAN_TOLAR 2419
|
||||
#define IDS_CURRENCY_SPANISH_PESETA 2420
|
||||
#define IDS_CURRENCY_EURO 2406
|
||||
#define IDS_CURRENCY_FINNISH_MARKKA 2407
|
||||
#define IDS_CURRENCY_FRENCH_FRANC 2408
|
||||
#define IDS_CURRENCY_GREEK_DRACHMA 2409
|
||||
#define IDS_CURRENCY_IRISH_POUND 2410
|
||||
#define IDS_CURRENCY_ITALIAN_LIRA 2411
|
||||
#define IDS_CURRENCY_LUXEMBOURG_FRANC 2412
|
||||
#define IDS_CURRENCY_MALTESE_LIRA 2413
|
||||
#define IDS_CURRENCY_PORTOGUESE_ESCUDO 2414
|
||||
#define IDS_CURRENCY_SLOVAK_KORUNA 2415
|
||||
#define IDS_CURRENCY_SLOVENIAN_TOLAR 2416
|
||||
#define IDS_CURRENCY_SPANISH_PESETA 2417
|
||||
|
||||
/* TYPES OF ENERGIES */
|
||||
#define IDS_ENERGY_15_C_CALORIES 2500
|
||||
#define IDS_ENERGY_BTUS 2501
|
||||
#define IDS_ENERGY_ERGS 2502
|
||||
#define IDS_ENERGY_EVS 2503
|
||||
#define IDS_ENERGY_FOOT_POUNDS 2504
|
||||
#define IDS_ENERGY_IT_CALORIES 2505
|
||||
#define IDS_ENERGY_IT_KILOCALORIES 2506
|
||||
#define IDS_ENERGY_JOULES 2507
|
||||
#define IDS_ENERGY_KILOJOULES 2508
|
||||
#define IDS_ENERGY_KILOWATT_HOURS 2509
|
||||
#define IDS_ENERGY_NUTRITION_CALORIES 2510
|
||||
#define IDS_ENERGY_TH_CALORIES 2511
|
||||
#define IDS_ENERGY_15_C_CALORIES 2500
|
||||
#define IDS_ENERGY_BTUS 2501
|
||||
#define IDS_ENERGY_ERGS 2502
|
||||
#define IDS_ENERGY_EVS 2503
|
||||
#define IDS_ENERGY_FOOT_POUNDS 2504
|
||||
#define IDS_ENERGY_IT_CALORIES 2505
|
||||
#define IDS_ENERGY_IT_KILOCALORIES 2506
|
||||
#define IDS_ENERGY_JOULES 2507
|
||||
#define IDS_ENERGY_KILOJOULES 2508
|
||||
#define IDS_ENERGY_KILOWATT_HOURS 2509
|
||||
#define IDS_ENERGY_NUTRITION_CALORIES 2510
|
||||
#define IDS_ENERGY_TH_CALORIES 2511
|
||||
|
||||
/* TYPES OF LENGTHS */
|
||||
#define IDS_LENGTH_ANGSTROMS 2600
|
||||
#define IDS_LENGTH_ASTRONOMICAL_UNITS 2601
|
||||
#define IDS_LENGTH_BARLEYCORNS 2602
|
||||
#define IDS_LENGTH_CENTIMETERS 2603
|
||||
#define IDS_LENGTH_CHAINS_UK 2604
|
||||
#define IDS_LENGTH_CHI 2605
|
||||
#define IDS_LENGTH_CHOU 2606
|
||||
#define IDS_LENGTH_CHR 2607
|
||||
#define IDS_LENGTH_CUN 2608
|
||||
#define IDS_LENGTH_FATHOMS 2609
|
||||
#define IDS_LENGTH_FATHOMS_HUNGARY 2610
|
||||
#define IDS_LENGTH_FEET 2611
|
||||
#define IDS_LENGTH_FURLONGS 2612
|
||||
#define IDS_LENGTH_GAN 2613
|
||||
#define IDS_LENGTH_HANDS 2614
|
||||
#define IDS_LENGTH_HUNH 2615
|
||||
#define IDS_LENGTH_INCHES 2616
|
||||
#define IDS_LENGTH_JA 2617
|
||||
#define IDS_LENGTH_JEONG 2618
|
||||
#define IDS_LENGTH_KABIET 2619
|
||||
#define IDS_LENGTH_KEN 2620
|
||||
#define IDS_LENGTH_KEUB 2621
|
||||
#define IDS_LENGTH_KILOMETERS 2622
|
||||
#define IDS_LENGTH_LAR 2623
|
||||
#define IDS_LENGTH_LIGHT_YEARS 2624
|
||||
#define IDS_LENGTH_LINKS_UK 2625
|
||||
#define IDS_LENGTH_METERS 2626
|
||||
#define IDS_LENGTH_MICRONS 2627
|
||||
#define IDS_LENGTH_MILES 2628
|
||||
#define IDS_LENGTH_MILLIMETERS 2629
|
||||
#define IDS_LENGTH_NAUTICAL_MILES 2630
|
||||
#define IDS_LENGTH_NIEU 2631
|
||||
#define IDS_LENGTH_PARSECS 2632
|
||||
#define IDS_LENGTH_PICAS 2633
|
||||
#define IDS_LENGTH_RODS 2634
|
||||
#define IDS_LENGTH_RI_JAPAN 2635
|
||||
#define IDS_LENGTH_RI_KOREA 2636
|
||||
#define IDS_LENGTH_SAWK 2637
|
||||
#define IDS_LENGTH_SEN 2638
|
||||
#define IDS_LENGTH_SHAKU 2639
|
||||
#define IDS_LENGTH_SPAN 2640
|
||||
#define IDS_LENGTH_SUN 2641
|
||||
#define IDS_LENGTH_TSUEN 2642
|
||||
#define IDS_LENGTH_VA 2643
|
||||
#define IDS_LENGTH_YARDS 2644
|
||||
#define IDS_LENGTH_YOTE 2645
|
||||
#define IDS_LENGTH_ZHANG 2646
|
||||
#define IDS_LENGTH_ANGSTROMS 2600
|
||||
#define IDS_LENGTH_ASTRONOMICAL_UNITS 2601
|
||||
#define IDS_LENGTH_BARLEYCORNS 2602
|
||||
#define IDS_LENGTH_CENTIMETERS 2603
|
||||
#define IDS_LENGTH_CHAINS_UK 2604
|
||||
#define IDS_LENGTH_CHI 2605
|
||||
#define IDS_LENGTH_CHOU 2606
|
||||
#define IDS_LENGTH_CHR 2607
|
||||
#define IDS_LENGTH_CUN 2608
|
||||
#define IDS_LENGTH_FATHOMS 2609
|
||||
#define IDS_LENGTH_FATHOMS_HUNGARY 2610
|
||||
#define IDS_LENGTH_FEET 2611
|
||||
#define IDS_LENGTH_FURLONGS 2612
|
||||
#define IDS_LENGTH_GAN 2613
|
||||
#define IDS_LENGTH_HANDS 2614
|
||||
#define IDS_LENGTH_HUNH 2615
|
||||
#define IDS_LENGTH_INCHES 2616
|
||||
#define IDS_LENGTH_JA 2617
|
||||
#define IDS_LENGTH_JEONG 2618
|
||||
#define IDS_LENGTH_KABIET 2619
|
||||
#define IDS_LENGTH_KEN 2620
|
||||
#define IDS_LENGTH_KEUB 2621
|
||||
#define IDS_LENGTH_KILOMETERS 2622
|
||||
#define IDS_LENGTH_LAR 2623
|
||||
#define IDS_LENGTH_LIGHT_YEARS 2624
|
||||
#define IDS_LENGTH_LINKS_UK 2625
|
||||
#define IDS_LENGTH_METERS 2626
|
||||
#define IDS_LENGTH_MICRONS 2627
|
||||
#define IDS_LENGTH_MILES 2628
|
||||
#define IDS_LENGTH_MILLIMETERS 2629
|
||||
#define IDS_LENGTH_NAUTICAL_MILES 2630
|
||||
#define IDS_LENGTH_NIEU 2631
|
||||
#define IDS_LENGTH_PARSECS 2632
|
||||
#define IDS_LENGTH_PICAS 2633
|
||||
#define IDS_LENGTH_RODS 2634
|
||||
#define IDS_LENGTH_RI_JAPAN 2635
|
||||
#define IDS_LENGTH_RI_KOREA 2636
|
||||
#define IDS_LENGTH_SAWK 2637
|
||||
#define IDS_LENGTH_SEN 2638
|
||||
#define IDS_LENGTH_SHAKU 2639
|
||||
#define IDS_LENGTH_SPAN 2640
|
||||
#define IDS_LENGTH_SUN 2641
|
||||
#define IDS_LENGTH_TSUEN 2642
|
||||
#define IDS_LENGTH_VA 2643
|
||||
#define IDS_LENGTH_YARDS 2644
|
||||
#define IDS_LENGTH_YOTE 2645
|
||||
#define IDS_LENGTH_ZHANG 2646
|
||||
|
||||
/* TYPES OF POWERS */
|
||||
#define IDS_POWER_BTUS_PER_MINUTE 2700
|
||||
#define IDS_POWER_FPS_PER_MINUTE 2701
|
||||
#define IDS_POWER_HORSEPOWER 2702
|
||||
#define IDS_POWER_KILOWATTS 2703
|
||||
#define IDS_POWER_MEGAWATTS 2704
|
||||
#define IDS_POWER_WATTS 2705
|
||||
#define IDS_POWER_BTUS_PER_MINUTE 2700
|
||||
#define IDS_POWER_FPS_PER_MINUTE 2701
|
||||
#define IDS_POWER_HORSEPOWER 2702
|
||||
#define IDS_POWER_KILOWATTS 2703
|
||||
#define IDS_POWER_MEGAWATTS 2704
|
||||
#define IDS_POWER_WATTS 2705
|
||||
|
||||
/* TYPE OF PRESSURES */
|
||||
#define IDS_PRESSURE_ATMOSPHERES 2800
|
||||
#define IDS_PRESSURE_BARS 2801
|
||||
#define IDS_PRESSURE_HECTOPASCALS 2802
|
||||
#define IDS_PRESSURE_KILOPASCALS 2803
|
||||
#define IDS_PRESSURE_MM_OF_MERCURY 2804
|
||||
#define IDS_PRESSURE_PASCALS 2805
|
||||
#define IDS_PRESSURE_PSI 2806
|
||||
#define IDS_PRESSURE_ATMOSPHERES 2800
|
||||
#define IDS_PRESSURE_BARS 2801
|
||||
#define IDS_PRESSURE_HECTOPASCALS 2802
|
||||
#define IDS_PRESSURE_KILOPASCALS 2803
|
||||
#define IDS_PRESSURE_MM_OF_MERCURY 2804
|
||||
#define IDS_PRESSURE_PASCALS 2805
|
||||
#define IDS_PRESSURE_PSI 2806
|
||||
|
||||
/* TYPES OF TEMPERATURES */
|
||||
#define IDS_TEMPERATURE_CELSIUS 2900
|
||||
#define IDS_TEMPERATURE_FAHRENHEIT 2901
|
||||
#define IDS_TEMPERATURE_KELVIN 2902
|
||||
#define IDS_TEMPERATURE_RANKINE 2903
|
||||
#define IDS_TEMPERATURE_CELSIUS 2900
|
||||
#define IDS_TEMPERATURE_FAHRENHEIT 2901
|
||||
#define IDS_TEMPERATURE_KELVIN 2902
|
||||
#define IDS_TEMPERATURE_RANKINE 2903
|
||||
|
||||
/* TYPE OF TIME */
|
||||
#define IDS_TIME_DAYS 3001
|
||||
#define IDS_TIME_HOURS 3002
|
||||
#define IDS_TIME_MICROSECONDS 3003
|
||||
#define IDS_TIME_MILLISECONDS 3004
|
||||
#define IDS_TIME_NANOSECONDS 3005
|
||||
#define IDS_TIME_MINUTES 3006
|
||||
#define IDS_TIME_SECONDS 3007
|
||||
#define IDS_TIME_WEEKS 3008
|
||||
#define IDS_TIME_YEARS 3009
|
||||
#define IDS_TIME_DAYS 3001
|
||||
#define IDS_TIME_HOURS 3002
|
||||
#define IDS_TIME_MICROSECONDS 3003
|
||||
#define IDS_TIME_MILLISECONDS 3004
|
||||
#define IDS_TIME_NANOSECONDS 3005
|
||||
#define IDS_TIME_MINUTES 3006
|
||||
#define IDS_TIME_SECONDS 3007
|
||||
#define IDS_TIME_WEEKS 3008
|
||||
#define IDS_TIME_YEARS 3009
|
||||
|
||||
/* TYPES OF VELOCITIES */
|
||||
#define IDS_VELOCITY_CMS_SECOND 3100
|
||||
#define IDS_VELOCITY_FEET_SECOND 3101
|
||||
#define IDS_VELOCITY_FEET_HOUR 3102
|
||||
#define IDS_VELOCITY_KILOMETERS_HOUR 3103
|
||||
#define IDS_VELOCITY_KNOTS 3104
|
||||
#define IDS_VELOCITY_MACH 3105
|
||||
#define IDS_VELOCITY_METERS_SECOND 3106
|
||||
#define IDS_VELOCITY_MILES_HOUR 3107
|
||||
#define IDS_VELOCITY_CMS_SECOND 3100
|
||||
#define IDS_VELOCITY_FEET_SECOND 3101
|
||||
#define IDS_VELOCITY_FEET_HOUR 3102
|
||||
#define IDS_VELOCITY_KILOMETERS_HOUR 3103
|
||||
#define IDS_VELOCITY_KNOTS 3104
|
||||
#define IDS_VELOCITY_MACH 3105
|
||||
#define IDS_VELOCITY_METERS_SECOND 3106
|
||||
#define IDS_VELOCITY_MILES_HOUR 3107
|
||||
|
||||
/* TYPES OF VOLUMES */
|
||||
#define IDS_VOLUME_BARRELS_UK 3200
|
||||
#define IDS_VOLUME_BARRELS_OIL 3201
|
||||
#define IDS_VOLUME_BUN 3202
|
||||
#define IDS_VOLUME_BUSHELS_UK 3203
|
||||
#define IDS_VOLUME_BUSHELS_US 3204
|
||||
#define IDS_VOLUME_CUBIC_CENTIMETERS 3205
|
||||
#define IDS_VOLUME_CUBIC_FEET 3206
|
||||
#define IDS_VOLUME_CUBIC_INCHES 3207
|
||||
#define IDS_VOLUME_CUBIC_METERS 3208
|
||||
#define IDS_VOLUME_CUBIC_YARDS 3209
|
||||
#define IDS_VOLUME_DOE 3210
|
||||
#define IDS_VOLUME_FLUID_OUNCES_UK 3211
|
||||
#define IDS_VOLUME_FLUID_OUNCES_US 3212
|
||||
#define IDS_VOLUME_GALLONS_UK 3213
|
||||
#define IDS_VOLUME_GALLONS_DRY_US 3214
|
||||
#define IDS_VOLUME_GALLONS_LIQUID_US 3215
|
||||
#define IDS_VOLUME_GOU 3216
|
||||
#define IDS_VOLUME_HOP 3217
|
||||
#define IDS_VOLUME_ICCE 3218
|
||||
#define IDS_VOLUME_KWIAN 3219
|
||||
#define IDS_VOLUME_LITERS 3220
|
||||
#define IDS_VOLUME_MAL 3221
|
||||
#define IDS_VOLUME_MILLILITERS 3222
|
||||
#define IDS_VOLUME_PINTS_UK 3223
|
||||
#define IDS_VOLUME_PINTS_DRY_US 3224
|
||||
#define IDS_VOLUME_PINTS_LIQUID_US 3225
|
||||
#define IDS_VOLUME_QUARTS_UK 3226
|
||||
#define IDS_VOLUME_QUARTS_DRY_US 3227
|
||||
#define IDS_VOLUME_QUARTS_LIQUID_US 3228
|
||||
#define IDS_VOLUME_SEKI 3229
|
||||
#define IDS_VOLUME_SYOU 3230
|
||||
#define IDS_VOLUME_TANANLOUNG 3231
|
||||
#define IDS_VOLUME_TANG 3232
|
||||
#define IDS_VOLUME_TO 3233
|
||||
#define IDS_VOLUME_BARRELS_UK 3200
|
||||
#define IDS_VOLUME_BARRELS_OIL 3201
|
||||
#define IDS_VOLUME_BUN 3202
|
||||
#define IDS_VOLUME_BUSHELS_UK 3203
|
||||
#define IDS_VOLUME_BUSHELS_US 3204
|
||||
#define IDS_VOLUME_CUBIC_CENTIMETERS 3205
|
||||
#define IDS_VOLUME_CUBIC_FEET 3206
|
||||
#define IDS_VOLUME_CUBIC_INCHES 3207
|
||||
#define IDS_VOLUME_CUBIC_METERS 3208
|
||||
#define IDS_VOLUME_CUBIC_YARDS 3209
|
||||
#define IDS_VOLUME_DOE 3210
|
||||
#define IDS_VOLUME_FLUID_OUNCES_UK 3211
|
||||
#define IDS_VOLUME_FLUID_OUNCES_US 3212
|
||||
#define IDS_VOLUME_GALLONS_UK 3213
|
||||
#define IDS_VOLUME_GALLONS_DRY_US 3214
|
||||
#define IDS_VOLUME_GALLONS_LIQUID_US 3215
|
||||
#define IDS_VOLUME_GOU 3216
|
||||
#define IDS_VOLUME_HOP 3217
|
||||
#define IDS_VOLUME_ICCE 3218
|
||||
#define IDS_VOLUME_KWIAN 3219
|
||||
#define IDS_VOLUME_LITERS 3220
|
||||
#define IDS_VOLUME_MAL 3221
|
||||
#define IDS_VOLUME_MILLILITERS 3222
|
||||
#define IDS_VOLUME_PINTS_UK 3223
|
||||
#define IDS_VOLUME_PINTS_DRY_US 3224
|
||||
#define IDS_VOLUME_PINTS_LIQUID_US 3225
|
||||
#define IDS_VOLUME_QUARTS_UK 3226
|
||||
#define IDS_VOLUME_QUARTS_DRY_US 3227
|
||||
#define IDS_VOLUME_QUARTS_LIQUID_US 3228
|
||||
#define IDS_VOLUME_SEKI 3229
|
||||
#define IDS_VOLUME_SYOU 3230
|
||||
#define IDS_VOLUME_TANANLOUNG 3231
|
||||
#define IDS_VOLUME_TANG 3232
|
||||
#define IDS_VOLUME_TO 3233
|
||||
|
||||
/* TYPES OF WEIGHTS */
|
||||
#define IDS_WEIGHT_BAHT 3300
|
||||
#define IDS_WEIGHT_CARATS 3301
|
||||
#define IDS_WEIGHT_CHUNG 3302
|
||||
#define IDS_WEIGHT_DON 3303
|
||||
#define IDS_WEIGHT_GEUN 3304
|
||||
#define IDS_WEIGHT_GRAMS 3305
|
||||
#define IDS_WEIGHT_GWAN 3306
|
||||
#define IDS_WEIGHT_HARB 3307
|
||||
#define IDS_WEIGHT_JIN_CHINA 3308
|
||||
#define IDS_WEIGHT_JIN_TAIWAN 3309
|
||||
#define IDS_WEIGHT_KAN 3310
|
||||
#define IDS_WEIGHT_KILOGRAMS 3311
|
||||
#define IDS_WEIGHT_KIN 3312
|
||||
#define IDS_WEIGHT_LIANG_CHINA 3313
|
||||
#define IDS_WEIGHT_LIANG_TAIWAN 3314
|
||||
#define IDS_WEIGHT_MONME 3315
|
||||
#define IDS_WEIGHT_OUNCES_AVOIRDUPOIS 3316
|
||||
#define IDS_WEIGHT_OUNCES_TROY 3317
|
||||
#define IDS_WEIGHT_POUNDS 3318
|
||||
#define IDS_WEIGHT_QUINTAL_METRIC 3319
|
||||
#define IDS_WEIGHT_SALOUNG 3320
|
||||
#define IDS_WEIGHT_STONES 3321
|
||||
#define IDS_WEIGHT_TAMLUNG 3322
|
||||
#define IDS_WEIGHT_TONNES 3323
|
||||
#define IDS_WEIGHT_TONS_UK 3324
|
||||
#define IDS_WEIGHT_TONS_US 3325
|
||||
#define IDS_WEIGHT_BAHT 3300
|
||||
#define IDS_WEIGHT_CARATS 3301
|
||||
#define IDS_WEIGHT_CHUNG 3302
|
||||
#define IDS_WEIGHT_DON 3303
|
||||
#define IDS_WEIGHT_GEUN 3304
|
||||
#define IDS_WEIGHT_GRAMS 3305
|
||||
#define IDS_WEIGHT_GWAN 3306
|
||||
#define IDS_WEIGHT_HARB 3307
|
||||
#define IDS_WEIGHT_JIN_CHINA 3308
|
||||
#define IDS_WEIGHT_JIN_TAIWAN 3309
|
||||
#define IDS_WEIGHT_KAN 3310
|
||||
#define IDS_WEIGHT_KILOGRAMS 3311
|
||||
#define IDS_WEIGHT_KIN 3312
|
||||
#define IDS_WEIGHT_LIANG_CHINA 3313
|
||||
#define IDS_WEIGHT_LIANG_TAIWAN 3314
|
||||
#define IDS_WEIGHT_MONME 3315
|
||||
#define IDS_WEIGHT_OUNCES_AVOIRDUPOIS 3316
|
||||
#define IDS_WEIGHT_OUNCES_TROY 3317
|
||||
#define IDS_WEIGHT_POUNDS 3318
|
||||
#define IDS_WEIGHT_QUINTAL_METRIC 3319
|
||||
#define IDS_WEIGHT_SALOUNG 3320
|
||||
#define IDS_WEIGHT_STONES 3321
|
||||
#define IDS_WEIGHT_TAMLUNG 3322
|
||||
#define IDS_WEIGHT_TONNES 3323
|
||||
#define IDS_WEIGHT_TONS_UK 3324
|
||||
#define IDS_WEIGHT_TONS_US 3325
|
||||
|
||||
/* MENU */
|
||||
#define IDM_EDIT_COPY 40002
|
||||
#define IDM_EDIT_PASTE 40003
|
||||
#define IDM_VIEW_STANDARD 40004
|
||||
#define IDM_VIEW_SCIENTIFIC 40005
|
||||
#define IDM_VIEW_HEX 40006
|
||||
#define IDM_VIEW_DEC 40007
|
||||
#define IDM_VIEW_OCT 40008
|
||||
#define IDM_VIEW_BIN 40009
|
||||
#define IDM_VIEW_DEG 40010
|
||||
#define IDM_VIEW_RAD 40011
|
||||
#define IDM_VIEW_GRAD 40012
|
||||
#define IDM_VIEW_GROUP 40013
|
||||
#define IDM_HELP_HELP 40014
|
||||
#define IDM_HELP_ABOUT 40015
|
||||
#define IDM_VIEW_QWORD 40016
|
||||
#define IDM_VIEW_WORD 40017
|
||||
#define IDM_VIEW_BYTE 40018
|
||||
#define IDM_VIEW_DWORD 40019
|
||||
#define IDM_VIEW_CONVERSION 40020
|
||||
#define IDM_EDIT_COPY 40002
|
||||
#define IDM_EDIT_PASTE 40003
|
||||
#define IDM_VIEW_STANDARD 40004
|
||||
#define IDM_VIEW_SCIENTIFIC 40005
|
||||
#define IDM_VIEW_HEX 40006
|
||||
#define IDM_VIEW_DEC 40007
|
||||
#define IDM_VIEW_OCT 40008
|
||||
#define IDM_VIEW_BIN 40009
|
||||
#define IDM_VIEW_DEG 40010
|
||||
#define IDM_VIEW_RAD 40011
|
||||
#define IDM_VIEW_GRAD 40012
|
||||
#define IDM_VIEW_GROUP 40013
|
||||
#define IDM_HELP_HELP 40014
|
||||
#define IDM_HELP_ABOUT 40015
|
||||
#define IDM_VIEW_QWORD 40016
|
||||
#define IDM_VIEW_WORD 40017
|
||||
#define IDM_VIEW_BYTE 40018
|
||||
#define IDM_VIEW_DWORD 40019
|
||||
#define IDM_VIEW_CONVERSION 40020
|
||||
|
@@ -1,21 +1,8 @@
|
||||
/*
|
||||
* ReactOS Calc (global resource file)
|
||||
*
|
||||
* Copyright 2007, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* PROJECT: ReactOS Calc
|
||||
* LICENSE: LGPL - See COPYING.LIB in the top level directory
|
||||
* FILE: base/applications/calc/resource.rc
|
||||
* PURPOSE: Global resource file
|
||||
*/
|
||||
|
||||
#include <windef.h>
|
||||
@@ -23,14 +10,18 @@
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#ifndef IDC_STATIC
|
||||
#define IDC_STATIC -1
|
||||
#endif
|
||||
|
||||
/* Common resources */
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
/* Icons */
|
||||
IDI_CALC ICON DISCARDABLE "res/calc.ico"
|
||||
IDI_CALC_BIG ICON "res/calc.ico"
|
||||
IDI_CALC_SMALL ICON "res/calc_sm.ico"
|
||||
|
||||
/* Manifest */
|
||||
#include <reactos/manifest_exe.rc>
|
||||
|
||||
/* UTF-8 */
|
||||
@@ -63,9 +54,6 @@ IDI_CALC ICON DISCARDABLE "res/calc.ico"
|
||||
#ifdef LANGUAGE_HU_HU
|
||||
#include "lang/hu-HU.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_ID_ID
|
||||
#include "lang/id-ID.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_IT_IT
|
||||
#include "lang/it-IT.rc"
|
||||
#endif
|
||||
@@ -87,9 +75,6 @@ IDI_CALC ICON DISCARDABLE "res/calc.ico"
|
||||
#ifdef LANGUAGE_PT_BR
|
||||
#include "lang/pt-BR.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_PT_PT
|
||||
#include "lang/pt-PT.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_RO_RO
|
||||
#include "lang/ro-RO.rc"
|
||||
#endif
|
||||
@@ -117,9 +102,3 @@ IDI_CALC ICON DISCARDABLE "res/calc.ico"
|
||||
#ifdef LANGUAGE_ZH_CN
|
||||
#include "lang/zh-CN.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_ZH_HK
|
||||
#include "lang/zh-HK.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_ZH_TW
|
||||
#include "lang/zh-TW.rc"
|
||||
#endif
|
||||
|
462
base/applications/calc/rpn.c
Normal file
462
base/applications/calc/rpn.c
Normal file
@@ -0,0 +1,462 @@
|
||||
#include "calc.h"
|
||||
|
||||
typedef struct {
|
||||
calc_node_t node;
|
||||
void *next;
|
||||
} stack_node_t;
|
||||
|
||||
typedef void (*operator_call)(calc_number_t *, calc_number_t *, calc_number_t *);
|
||||
|
||||
typedef struct {
|
||||
unsigned int prec;
|
||||
operator_call op_f;
|
||||
operator_call op_i;
|
||||
operator_call op_p;
|
||||
} calc_operator_t;
|
||||
|
||||
static stack_node_t *stack;
|
||||
static stack_node_t temp;
|
||||
static BOOL percent_mode;
|
||||
|
||||
static void rpn_add_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_sub_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mul_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_div_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mod_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_pow_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_sqr_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_and_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_or_f (calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_xor_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_shl_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_shr_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
|
||||
/* Integer mode calculations */
|
||||
static void rpn_add_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_sub_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mul_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_div_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mod_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_and_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_or_i (calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_xor_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_shl_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_shr_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
|
||||
/* Percentage mode calculations */
|
||||
static void rpn_add_p(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_sub_p(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mul_p(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_div_p(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
|
||||
static const calc_operator_t operator_list[] = {
|
||||
{ 0, NULL, NULL, NULL, }, // RPN_OPERATOR_PARENT
|
||||
{ 0, NULL, NULL, NULL, }, // RPN_OPERATOR_PERCENT
|
||||
{ 0, NULL, NULL, NULL, }, // RPN_OPERATOR_EQUAL
|
||||
{ 1, rpn_or_f, rpn_or_i, NULL, }, // RPN_OPERATOR_OR
|
||||
{ 2, rpn_xor_f, rpn_xor_i, NULL, }, // RPN_OPERATOR_XOR
|
||||
{ 3, rpn_and_f, rpn_and_i, NULL, }, // RPN_OPERATOR_AND
|
||||
{ 4, rpn_shl_f, rpn_shl_i, NULL, }, // RPN_OPERATOR_LSH
|
||||
{ 4, rpn_shr_f, rpn_shr_i, NULL, }, // RPN_OPERATOR_RSH
|
||||
{ 5, rpn_add_f, rpn_add_i, rpn_add_p, }, // RPN_OPERATOR_ADD
|
||||
{ 5, rpn_sub_f, rpn_sub_i, rpn_sub_p, }, // RPN_OPERATOR_SUB
|
||||
{ 6, rpn_mul_f, rpn_mul_i, rpn_mul_p, }, // RPN_OPERATOR_MULT
|
||||
{ 6, rpn_div_f, rpn_div_i, rpn_div_p, }, // RPN_OPERATOR_DIV
|
||||
{ 6, rpn_mod_f, rpn_mod_i, NULL, }, // RPN_OPERATOR_MOD
|
||||
{ 7, rpn_pow_f, NULL, NULL, }, // RPN_OPERATOR_POW
|
||||
{ 7, rpn_sqr_f, NULL, NULL, }, // RPN_OPERATOR_SQR
|
||||
};
|
||||
|
||||
static stack_node_t *pop(void)
|
||||
{
|
||||
if (stack == NULL)
|
||||
return NULL;
|
||||
|
||||
temp = *stack;
|
||||
free(stack);
|
||||
stack = temp.next;
|
||||
|
||||
return &temp;
|
||||
}
|
||||
|
||||
static int is_stack_empty(void)
|
||||
{
|
||||
return (stack == NULL);
|
||||
}
|
||||
|
||||
static void push(stack_node_t *op)
|
||||
{
|
||||
stack_node_t *z = (stack_node_t *)malloc(sizeof(stack_node_t));
|
||||
|
||||
*z = *op;
|
||||
z->next = stack;
|
||||
stack = z;
|
||||
}
|
||||
/*
|
||||
static unsigned int get_prec(unsigned int opc)
|
||||
{
|
||||
unsigned int x;
|
||||
|
||||
for (x=0; x<SIZEOF(operator_list); x++)
|
||||
if (operator_list[x].opc == opc) break;
|
||||
return operator_list[x].prec;
|
||||
}
|
||||
*/
|
||||
/* Real mode calculations */
|
||||
static void rpn_add_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f + b->f;
|
||||
}
|
||||
|
||||
static void rpn_sub_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f - b->f;
|
||||
}
|
||||
|
||||
static void rpn_mul_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f * b->f;
|
||||
}
|
||||
|
||||
static void rpn_div_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
r->f = a->f / b->f;
|
||||
}
|
||||
|
||||
static void rpn_mod_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
double t;
|
||||
|
||||
if (b->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else {
|
||||
modf(a->f/b->f, &t);
|
||||
r->f = a->f - (t * b->f);
|
||||
}
|
||||
}
|
||||
|
||||
static void rpn_and_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t ai, bi;
|
||||
|
||||
ai.i = logic_dbl2int(a);
|
||||
bi.i = logic_dbl2int(b);
|
||||
|
||||
r->f = (long double)(ai.i & bi.i);
|
||||
}
|
||||
|
||||
static void rpn_or_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t ai, bi;
|
||||
|
||||
ai.i = logic_dbl2int(a);
|
||||
bi.i = logic_dbl2int(b);
|
||||
|
||||
r->f = (long double)(ai.i | bi.i);
|
||||
}
|
||||
|
||||
static void rpn_xor_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t ai, bi;
|
||||
|
||||
ai.i = logic_dbl2int(a);
|
||||
bi.i = logic_dbl2int(b);
|
||||
|
||||
r->f = (long double)(ai.i ^ bi.i);
|
||||
}
|
||||
|
||||
static void rpn_shl_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t n;
|
||||
|
||||
modf(b->f, &n.f);
|
||||
|
||||
r->f = a->f * pow(2., n.f);
|
||||
}
|
||||
|
||||
static void rpn_shr_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t n;
|
||||
|
||||
modf(b->f, &n.f);
|
||||
|
||||
r->f = a->f / pow(2., n.f);
|
||||
}
|
||||
|
||||
static void rpn_pow_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = pow(a->f, b->f);
|
||||
if (_finite(r->f) == 0 || _isnan(r->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
static void rpn_sqr_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else {
|
||||
r->f = pow(a->f, 1./b->f);
|
||||
if (_finite(r->f) == 0 || _isnan(r->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Integer mode calculations */
|
||||
static void rpn_add_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i + b->i;
|
||||
}
|
||||
|
||||
static void rpn_sub_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i - b->i;
|
||||
}
|
||||
|
||||
static void rpn_mul_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i * b->i;
|
||||
}
|
||||
|
||||
static void rpn_div_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->i == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
r->i = a->i / b->i;
|
||||
}
|
||||
|
||||
static void rpn_mod_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->i == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
r->i = a->i % b->i;
|
||||
}
|
||||
|
||||
static void rpn_and_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i & b->i;
|
||||
}
|
||||
|
||||
static void rpn_or_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i | b->i;
|
||||
}
|
||||
|
||||
static void rpn_xor_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i ^ b->i;
|
||||
}
|
||||
|
||||
static void rpn_shl_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i << b->i;
|
||||
}
|
||||
|
||||
static void rpn_shr_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i >> b->i;
|
||||
}
|
||||
|
||||
/* Percent mode calculations */
|
||||
static void rpn_add_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f * (1. + b->f/100.);
|
||||
}
|
||||
|
||||
static void rpn_sub_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f * (1. - b->f/100.);
|
||||
}
|
||||
|
||||
static void rpn_mul_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f * b->f / 100.;
|
||||
}
|
||||
|
||||
static void rpn_div_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
r->f = a->f * 100. / b->f;
|
||||
}
|
||||
|
||||
void run_operator(calc_node_t *result,
|
||||
calc_node_t *a,
|
||||
calc_node_t *b,
|
||||
unsigned int operation)
|
||||
{
|
||||
calc_number_t da, db, dc;
|
||||
DWORD base = calc.base;
|
||||
|
||||
da = a->number;
|
||||
db = b->number;
|
||||
if (a->base == IDC_RADIO_DEC && b->base != IDC_RADIO_DEC) {
|
||||
db.f = logic_int2dbl(&b->number);
|
||||
base = IDC_RADIO_DEC;
|
||||
} else
|
||||
if (a->base != IDC_RADIO_DEC && b->base == IDC_RADIO_DEC) {
|
||||
da.f = logic_int2dbl(&a->number);
|
||||
base = IDC_RADIO_DEC;
|
||||
}
|
||||
|
||||
if (base == IDC_RADIO_DEC) {
|
||||
if (percent_mode) {
|
||||
percent_mode = FALSE;
|
||||
operator_list[operation].op_p(&dc, &da, &db);
|
||||
} else
|
||||
operator_list[operation].op_f(&dc, &da, &db);
|
||||
if (_finite(dc.f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
} else {
|
||||
operator_list[operation].op_i(&dc, &da, &db);
|
||||
/* apply final limitator to result */
|
||||
apply_int_mask(&dc);
|
||||
}
|
||||
|
||||
if (a->base == IDC_RADIO_DEC && b->base != IDC_RADIO_DEC) {
|
||||
result->number.i = logic_dbl2int(&dc);
|
||||
apply_int_mask(&result->number);
|
||||
} else
|
||||
if (a->base != IDC_RADIO_DEC && b->base == IDC_RADIO_DEC)
|
||||
result->number.f = dc.f;
|
||||
else
|
||||
result->number = dc;
|
||||
}
|
||||
|
||||
static void evalStack(calc_number_t *number)
|
||||
{
|
||||
stack_node_t *op, ip;
|
||||
unsigned int prec;
|
||||
|
||||
op = pop();
|
||||
ip = *op;
|
||||
prec = operator_list[ip.node.operation].prec;
|
||||
while (!is_stack_empty()) {
|
||||
op = pop();
|
||||
|
||||
if (prec <= operator_list[op->node.operation].prec) {
|
||||
if (op->node.operation == RPN_OPERATOR_PARENT) continue;
|
||||
|
||||
calc.prev = ip.node.number;
|
||||
run_operator(&ip.node, &op->node, &ip.node, op->node.operation);
|
||||
if (calc.is_nan) {
|
||||
flush_postfix();
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
push(op);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(ip.node.operation != RPN_OPERATOR_EQUAL && ip.node.operation != RPN_OPERATOR_PERCENT)
|
||||
push(&ip);
|
||||
|
||||
calc.prev_operator = op->node.operation;
|
||||
|
||||
*number = ip.node.number;
|
||||
}
|
||||
|
||||
int exec_infix2postfix(calc_number_t *number, unsigned int func)
|
||||
{
|
||||
stack_node_t tmp;
|
||||
|
||||
if (is_stack_empty() && func == RPN_OPERATOR_EQUAL) {
|
||||
/* if a number has been entered with exponential */
|
||||
/* notation, I may update it with normal mode */
|
||||
if (calc.sci_in)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (func == RPN_OPERATOR_PERCENT)
|
||||
percent_mode = TRUE;
|
||||
|
||||
tmp.node.number = *number;
|
||||
tmp.node.base = calc.base;
|
||||
tmp.node.operation = func;
|
||||
tmp.next = NULL;
|
||||
|
||||
push(&tmp);
|
||||
|
||||
if (func == RPN_OPERATOR_NONE)
|
||||
return 0;
|
||||
|
||||
if (func != RPN_OPERATOR_PARENT) {
|
||||
calc.last_operator = func;
|
||||
evalStack(number);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void exec_change_infix(void)
|
||||
{
|
||||
stack_node_t *op = stack;
|
||||
|
||||
if (op == NULL)
|
||||
return;
|
||||
if (op->node.operation == RPN_OPERATOR_PARENT ||
|
||||
op->node.operation == RPN_OPERATOR_PERCENT ||
|
||||
op->node.operation == RPN_OPERATOR_EQUAL)
|
||||
return;
|
||||
/* remove the head, it will be re-inserted with new operator */
|
||||
pop();
|
||||
}
|
||||
|
||||
void exec_closeparent(calc_number_t *number)
|
||||
{
|
||||
stack_node_t *op, ip;
|
||||
|
||||
ip.node.number = *number;
|
||||
ip.node.base = calc.base;
|
||||
while (!is_stack_empty()) {
|
||||
op = pop();
|
||||
|
||||
if (op->node.operation == RPN_OPERATOR_PARENT)
|
||||
break;
|
||||
|
||||
run_operator(&ip.node, &op->node, &ip.node, op->node.operation);
|
||||
if (calc.is_nan) {
|
||||
flush_postfix();
|
||||
return;
|
||||
}
|
||||
}
|
||||
*number = ip.node.number;
|
||||
}
|
||||
|
||||
int eval_parent_count(void)
|
||||
{
|
||||
stack_node_t *s = stack;
|
||||
int n = 0;
|
||||
|
||||
while (s != NULL) {
|
||||
if (s->node.operation == RPN_OPERATOR_PARENT)
|
||||
n++;
|
||||
s = (stack_node_t *)(s->next);
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
void flush_postfix()
|
||||
{
|
||||
while (!is_stack_empty())
|
||||
pop();
|
||||
/* clear prev and last typed operators */
|
||||
calc.prev_operator =
|
||||
calc.last_operator = 0;
|
||||
}
|
||||
|
||||
void start_rpn_engine(void)
|
||||
{
|
||||
stack = NULL;
|
||||
}
|
||||
|
||||
void stop_rpn_engine(void)
|
||||
{
|
||||
}
|
||||
|
@@ -1,486 +0,0 @@
|
||||
/*
|
||||
* ReactOS Calc (RPN encoder/decoder for IEEE-754 engine)
|
||||
*
|
||||
* Copyright 2007-2017, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
typedef struct {
|
||||
calc_node_t node;
|
||||
void *next;
|
||||
} stack_node_t;
|
||||
|
||||
typedef void (*operator_call)(calc_number_t *, calc_number_t *, calc_number_t *);
|
||||
|
||||
typedef struct {
|
||||
unsigned int prec;
|
||||
operator_call op_f;
|
||||
operator_call op_i;
|
||||
operator_call op_p;
|
||||
} calc_operator_t;
|
||||
|
||||
static stack_node_t *stack;
|
||||
static calc_node_t temp;
|
||||
static BOOL percent_mode;
|
||||
|
||||
static void rpn_add_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_sub_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mul_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_div_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mod_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_pow_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_sqr_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_and_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_or_f (calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_xor_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_shl_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_shr_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
|
||||
/* Integer mode calculations */
|
||||
static void rpn_add_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_sub_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mul_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_div_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mod_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_and_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_or_i (calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_xor_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_shl_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_shr_i(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
|
||||
/* Percentage mode calculations */
|
||||
static void rpn_add_p(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_sub_p(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_mul_p(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
static void rpn_div_p(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
|
||||
static const calc_operator_t operator_list[] = {
|
||||
{ 0, NULL, NULL, NULL, }, // RPN_OPERATOR_PARENT
|
||||
{ 0, NULL, NULL, NULL, }, // RPN_OPERATOR_PERCENT
|
||||
{ 0, NULL, NULL, NULL, }, // RPN_OPERATOR_EQUAL
|
||||
{ 1, rpn_or_f, rpn_or_i, NULL, }, // RPN_OPERATOR_OR
|
||||
{ 2, rpn_xor_f, rpn_xor_i, NULL, }, // RPN_OPERATOR_XOR
|
||||
{ 3, rpn_and_f, rpn_and_i, NULL, }, // RPN_OPERATOR_AND
|
||||
{ 4, rpn_shl_f, rpn_shl_i, NULL, }, // RPN_OPERATOR_LSH
|
||||
{ 4, rpn_shr_f, rpn_shr_i, NULL, }, // RPN_OPERATOR_RSH
|
||||
{ 5, rpn_add_f, rpn_add_i, rpn_add_p, }, // RPN_OPERATOR_ADD
|
||||
{ 5, rpn_sub_f, rpn_sub_i, rpn_sub_p, }, // RPN_OPERATOR_SUB
|
||||
{ 6, rpn_mul_f, rpn_mul_i, rpn_mul_p, }, // RPN_OPERATOR_MULT
|
||||
{ 6, rpn_div_f, rpn_div_i, rpn_div_p, }, // RPN_OPERATOR_DIV
|
||||
{ 6, rpn_mod_f, rpn_mod_i, NULL, }, // RPN_OPERATOR_MOD
|
||||
{ 7, rpn_pow_f, NULL, NULL, }, // RPN_OPERATOR_POW
|
||||
{ 7, rpn_sqr_f, NULL, NULL, }, // RPN_OPERATOR_SQR
|
||||
};
|
||||
|
||||
static calc_node_t *pop(void)
|
||||
{
|
||||
void *next;
|
||||
|
||||
if (stack == NULL)
|
||||
return NULL;
|
||||
|
||||
/* copy the node */
|
||||
temp = stack->node;
|
||||
next = stack->next;
|
||||
|
||||
/* free the node */
|
||||
free(stack);
|
||||
stack = next;
|
||||
|
||||
return &temp;
|
||||
}
|
||||
|
||||
static int is_stack_empty(void)
|
||||
{
|
||||
return (stack == NULL);
|
||||
}
|
||||
|
||||
static void push(calc_node_t *op)
|
||||
{
|
||||
stack_node_t *z = (stack_node_t *)malloc(sizeof(stack_node_t));
|
||||
|
||||
z->node = *op;
|
||||
z->next = stack;
|
||||
stack = z;
|
||||
}
|
||||
/*
|
||||
static unsigned int get_prec(unsigned int opc)
|
||||
{
|
||||
unsigned int x;
|
||||
|
||||
for (x=0; x<SIZEOF(operator_list); x++)
|
||||
if (operator_list[x].opc == opc) break;
|
||||
return operator_list[x].prec;
|
||||
}
|
||||
*/
|
||||
/* Real mode calculations */
|
||||
static void rpn_add_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f + b->f;
|
||||
}
|
||||
|
||||
static void rpn_sub_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f - b->f;
|
||||
}
|
||||
|
||||
static void rpn_mul_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f * b->f;
|
||||
}
|
||||
|
||||
static void rpn_div_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
r->f = a->f / b->f;
|
||||
}
|
||||
|
||||
static void rpn_mod_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
double t;
|
||||
|
||||
if (b->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else {
|
||||
modf(a->f/b->f, &t);
|
||||
r->f = a->f - (t * b->f);
|
||||
}
|
||||
}
|
||||
|
||||
static void rpn_and_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t ai, bi;
|
||||
|
||||
ai.i = logic_dbl2int(a);
|
||||
bi.i = logic_dbl2int(b);
|
||||
|
||||
r->f = (long double)(ai.i & bi.i);
|
||||
}
|
||||
|
||||
static void rpn_or_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t ai, bi;
|
||||
|
||||
ai.i = logic_dbl2int(a);
|
||||
bi.i = logic_dbl2int(b);
|
||||
|
||||
r->f = (long double)(ai.i | bi.i);
|
||||
}
|
||||
|
||||
static void rpn_xor_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t ai, bi;
|
||||
|
||||
ai.i = logic_dbl2int(a);
|
||||
bi.i = logic_dbl2int(b);
|
||||
|
||||
r->f = (long double)(ai.i ^ bi.i);
|
||||
}
|
||||
|
||||
static void rpn_shl_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t n;
|
||||
|
||||
modf(b->f, &n.f);
|
||||
|
||||
r->f = a->f * pow(2., n.f);
|
||||
}
|
||||
|
||||
static void rpn_shr_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
calc_number_t n;
|
||||
|
||||
modf(b->f, &n.f);
|
||||
|
||||
r->f = a->f / pow(2., n.f);
|
||||
}
|
||||
|
||||
static void rpn_pow_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = pow(a->f, b->f);
|
||||
if (_finite(r->f) == 0 || _isnan(r->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
|
||||
static void rpn_sqr_f(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else {
|
||||
r->f = pow(a->f, 1./b->f);
|
||||
if (_finite(r->f) == 0 || _isnan(r->f))
|
||||
calc.is_nan = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Integer mode calculations */
|
||||
static void rpn_add_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i + b->i;
|
||||
}
|
||||
|
||||
static void rpn_sub_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i - b->i;
|
||||
}
|
||||
|
||||
static void rpn_mul_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i * b->i;
|
||||
}
|
||||
|
||||
static void rpn_div_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->i == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
r->i = a->i / b->i;
|
||||
}
|
||||
|
||||
static void rpn_mod_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->i == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
r->i = a->i % b->i;
|
||||
}
|
||||
|
||||
static void rpn_and_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i & b->i;
|
||||
}
|
||||
|
||||
static void rpn_or_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i | b->i;
|
||||
}
|
||||
|
||||
static void rpn_xor_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i ^ b->i;
|
||||
}
|
||||
|
||||
static void rpn_shl_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i << b->i;
|
||||
}
|
||||
|
||||
static void rpn_shr_i(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->i = a->i >> b->i;
|
||||
}
|
||||
|
||||
/* Percent mode calculations */
|
||||
static void rpn_add_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f * (1. + b->f/100.);
|
||||
}
|
||||
|
||||
static void rpn_sub_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f * (1. - b->f/100.);
|
||||
}
|
||||
|
||||
static void rpn_mul_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
r->f = a->f * b->f / 100.;
|
||||
}
|
||||
|
||||
static void rpn_div_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
{
|
||||
if (b->f == 0)
|
||||
calc.is_nan = TRUE;
|
||||
else
|
||||
r->f = a->f * 100. / b->f;
|
||||
}
|
||||
|
||||
void run_operator(calc_node_t *result,
|
||||
calc_node_t *a,
|
||||
calc_node_t *b,
|
||||
unsigned int operation)
|
||||
{
|
||||
calc_number_t da, db, dc;
|
||||
DWORD base = calc.base;
|
||||
|
||||
da = a->number;
|
||||
db = b->number;
|
||||
if (a->base == IDC_RADIO_DEC && b->base != IDC_RADIO_DEC) {
|
||||
db.f = logic_int2dbl(&b->number);
|
||||
base = IDC_RADIO_DEC;
|
||||
} else
|
||||
if (a->base != IDC_RADIO_DEC && b->base == IDC_RADIO_DEC) {
|
||||
da.f = logic_int2dbl(&a->number);
|
||||
base = IDC_RADIO_DEC;
|
||||
}
|
||||
|
||||
if (base == IDC_RADIO_DEC) {
|
||||
if (percent_mode) {
|
||||
percent_mode = FALSE;
|
||||
operator_list[operation].op_p(&dc, &da, &db);
|
||||
} else
|
||||
operator_list[operation].op_f(&dc, &da, &db);
|
||||
if (_finite(dc.f) == 0)
|
||||
calc.is_nan = TRUE;
|
||||
} else {
|
||||
operator_list[operation].op_i(&dc, &da, &db);
|
||||
/* apply final limiter to result */
|
||||
apply_int_mask(&dc);
|
||||
}
|
||||
|
||||
if (a->base == IDC_RADIO_DEC && b->base != IDC_RADIO_DEC) {
|
||||
result->number.i = logic_dbl2int(&dc);
|
||||
apply_int_mask(&result->number);
|
||||
} else
|
||||
if (a->base != IDC_RADIO_DEC && b->base == IDC_RADIO_DEC)
|
||||
result->number.f = dc.f;
|
||||
else
|
||||
result->number = dc;
|
||||
}
|
||||
|
||||
static void evalStack(calc_number_t *number)
|
||||
{
|
||||
calc_node_t *op, ip;
|
||||
unsigned int prec;
|
||||
|
||||
op = pop();
|
||||
ip = *op;
|
||||
prec = operator_list[ip.operation].prec;
|
||||
while (!is_stack_empty()) {
|
||||
op = pop();
|
||||
|
||||
if (prec <= operator_list[op->operation].prec) {
|
||||
if (op->operation == RPN_OPERATOR_PARENT) continue;
|
||||
|
||||
calc.prev = ip.number;
|
||||
run_operator(&ip, op, &ip, op->operation);
|
||||
if (calc.is_nan) {
|
||||
flush_postfix();
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
push(op);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (ip.operation != RPN_OPERATOR_EQUAL && ip.operation != RPN_OPERATOR_PERCENT)
|
||||
push(&ip);
|
||||
|
||||
calc.prev_operator = op->operation;
|
||||
|
||||
*number = ip.number;
|
||||
}
|
||||
|
||||
int exec_infix2postfix(calc_number_t *number, unsigned int func)
|
||||
{
|
||||
calc_node_t tmp;
|
||||
|
||||
if (is_stack_empty() && func == RPN_OPERATOR_EQUAL) {
|
||||
/* if a number has been entered with exponential */
|
||||
/* notation, I may update it with normal mode */
|
||||
if (calc.sci_in)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (func == RPN_OPERATOR_PERCENT)
|
||||
percent_mode = TRUE;
|
||||
|
||||
tmp.number = *number;
|
||||
tmp.base = calc.base;
|
||||
tmp.operation = func;
|
||||
|
||||
push(&tmp);
|
||||
|
||||
if (func == RPN_OPERATOR_NONE)
|
||||
return 0;
|
||||
|
||||
if (func != RPN_OPERATOR_PARENT) {
|
||||
calc.last_operator = func;
|
||||
evalStack(number);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void exec_change_infix(void)
|
||||
{
|
||||
stack_node_t *op = stack;
|
||||
|
||||
if (op == NULL)
|
||||
return;
|
||||
if (op->node.operation == RPN_OPERATOR_PARENT ||
|
||||
op->node.operation == RPN_OPERATOR_PERCENT ||
|
||||
op->node.operation == RPN_OPERATOR_EQUAL)
|
||||
return;
|
||||
/* remove the head, it will be re-inserted with new operator */
|
||||
pop();
|
||||
}
|
||||
|
||||
void exec_closeparent(calc_number_t *number)
|
||||
{
|
||||
calc_node_t *op, ip;
|
||||
|
||||
ip.number = *number;
|
||||
ip.base = calc.base;
|
||||
while (!is_stack_empty()) {
|
||||
op = pop();
|
||||
|
||||
if (op->operation == RPN_OPERATOR_PARENT)
|
||||
break;
|
||||
|
||||
run_operator(&ip, op, &ip, op->operation);
|
||||
if (calc.is_nan) {
|
||||
flush_postfix();
|
||||
return;
|
||||
}
|
||||
}
|
||||
*number = ip.number;
|
||||
}
|
||||
|
||||
int eval_parent_count(void)
|
||||
{
|
||||
stack_node_t *s = stack;
|
||||
int n = 0;
|
||||
|
||||
while (s != NULL) {
|
||||
if (s->node.operation == RPN_OPERATOR_PARENT)
|
||||
n++;
|
||||
s = (stack_node_t *)(s->next);
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
void flush_postfix(void)
|
||||
{
|
||||
while (!is_stack_empty())
|
||||
pop();
|
||||
/* clear prev and last typed operators */
|
||||
calc.prev_operator =
|
||||
calc.last_operator = 0;
|
||||
}
|
||||
|
||||
void start_rpn_engine(void)
|
||||
{
|
||||
stack = NULL;
|
||||
}
|
||||
|
||||
void stop_rpn_engine(void)
|
||||
{
|
||||
}
|
@@ -1,23 +1,3 @@
|
||||
/*
|
||||
* ReactOS Calc (RPN encoder/decoder for GMP/MPFR engine)
|
||||
*
|
||||
* Copyright 2007-2017, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
typedef struct {
|
||||
@@ -35,7 +15,7 @@ typedef struct {
|
||||
} calc_operator_t;
|
||||
|
||||
static stack_node_t *stack;
|
||||
static calc_node_t temp;
|
||||
static stack_node_t temp;
|
||||
static BOOL percent_mode;
|
||||
|
||||
static void rpn_add_f(calc_number_t *r, calc_number_t *a, calc_number_t *b);
|
||||
@@ -81,27 +61,25 @@ static const calc_operator_t operator_list[] = {
|
||||
{ 7, rpn_sqr_f, NULL, NULL, }, // RPN_OPERATOR_SQR
|
||||
};
|
||||
|
||||
static void node_copy(calc_node_t *dst, calc_node_t *src)
|
||||
static void node_copy(stack_node_t *dst, stack_node_t *src)
|
||||
{
|
||||
mpfr_set(dst->number.mf, src->number.mf, MPFR_DEFAULT_RND);
|
||||
dst->operation = src->operation;
|
||||
mpfr_set(dst->node.number.mf,src->node.number.mf,MPFR_DEFAULT_RND);
|
||||
dst->node.operation = src->node.operation;
|
||||
dst->next = src->next;
|
||||
}
|
||||
|
||||
static calc_node_t *pop(void)
|
||||
static stack_node_t *pop()
|
||||
{
|
||||
void *next;
|
||||
|
||||
if (stack == NULL)
|
||||
return NULL;
|
||||
|
||||
/* copy the node */
|
||||
node_copy(&temp, &stack->node);
|
||||
next = stack->next;
|
||||
node_copy(&temp, stack);
|
||||
|
||||
/* free the node */
|
||||
mpfr_clear(stack->node.number.mf);
|
||||
free(stack);
|
||||
stack = next;
|
||||
stack = temp.next;
|
||||
|
||||
return &temp;
|
||||
}
|
||||
@@ -111,12 +89,12 @@ static int is_stack_empty(void)
|
||||
return (stack == NULL);
|
||||
}
|
||||
|
||||
static void push(calc_node_t *op)
|
||||
static void push(stack_node_t *op)
|
||||
{
|
||||
stack_node_t *z = (stack_node_t *)malloc(sizeof(stack_node_t));
|
||||
|
||||
mpfr_init_set(z->node.number.mf, op->number.mf, MPFR_DEFAULT_RND);
|
||||
z->node.operation = op->operation;
|
||||
mpfr_init_set(z->node.number.mf,op->node.number.mf,MPFR_DEFAULT_RND);
|
||||
z->node.operation = op->node.operation;
|
||||
z->next = stack;
|
||||
stack = z;
|
||||
}
|
||||
@@ -131,7 +109,8 @@ static unsigned int get_prec(unsigned int opc)
|
||||
}
|
||||
*/
|
||||
|
||||
typedef void (*exec_call_t)
|
||||
typedef
|
||||
__GMP_DECLSPEC void (*exec_call_t)
|
||||
__GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
|
||||
|
||||
static void rpn_exec_int(calc_number_t *r, calc_number_t *a, calc_number_t *b, exec_call_t cb)
|
||||
@@ -307,6 +286,7 @@ static void rpn_div_p(calc_number_t *r, calc_number_t *a, calc_number_t *b)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void run_operator(calc_node_t *result,
|
||||
calc_node_t *a,
|
||||
calc_node_t *b,
|
||||
@@ -320,51 +300,51 @@ void run_operator(calc_node_t *result,
|
||||
operator_list[operation].op_f(&result->number, &a->number, &b->number);
|
||||
} else {
|
||||
operator_list[operation].op_i(&result->number, &a->number, &b->number);
|
||||
/* apply final limiter to result */
|
||||
/* apply final limitator to result */
|
||||
apply_int_mask(&result->number);
|
||||
}
|
||||
}
|
||||
|
||||
static void evalStack(calc_number_t *number)
|
||||
{
|
||||
calc_node_t *op, ip;
|
||||
stack_node_t *op, ip;
|
||||
unsigned int prec;
|
||||
|
||||
mpfr_init(ip.number.mf);
|
||||
mpfr_init(ip.node.number.mf);
|
||||
op = pop();
|
||||
node_copy(&ip, op);
|
||||
prec = operator_list[ip.operation].prec;
|
||||
prec = operator_list[ip.node.operation].prec;
|
||||
while (!is_stack_empty()) {
|
||||
op = pop();
|
||||
|
||||
if (prec <= operator_list[op->operation].prec) {
|
||||
if (op->operation == RPN_OPERATOR_PARENT) continue;
|
||||
if (prec <= operator_list[op->node.operation].prec) {
|
||||
if (op->node.operation == RPN_OPERATOR_PARENT) continue;
|
||||
|
||||
rpn_copy(&calc.prev, &ip.number);
|
||||
run_operator(&ip, op, &ip, op->operation);
|
||||
rpn_copy(&calc.prev, &ip.node.number);
|
||||
run_operator(&ip.node, &op->node, &ip.node, op->node.operation);
|
||||
if (calc.is_nan) {
|
||||
flush_postfix();
|
||||
mpfr_clear(ip.number.mf);
|
||||
mpfr_clear(ip.node.number.mf);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
push(op);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ip.operation != RPN_OPERATOR_EQUAL && ip.operation != RPN_OPERATOR_PERCENT)
|
||||
if(ip.node.operation != RPN_OPERATOR_EQUAL && ip.node.operation != RPN_OPERATOR_PERCENT)
|
||||
push(&ip);
|
||||
|
||||
calc.prev_operator = op->operation;
|
||||
calc.prev_operator = op->node.operation;
|
||||
|
||||
rpn_copy(number, &ip.number);
|
||||
mpfr_clear(ip.number.mf);
|
||||
rpn_copy(number, &ip.node.number);
|
||||
mpfr_clear(ip.node.number.mf);
|
||||
}
|
||||
|
||||
int exec_infix2postfix(calc_number_t *number, unsigned int func)
|
||||
{
|
||||
calc_node_t tmp;
|
||||
stack_node_t tmp;
|
||||
|
||||
if (is_stack_empty() && func == RPN_OPERATOR_EQUAL) {
|
||||
/* if a number has been entered with exponential */
|
||||
@@ -377,12 +357,12 @@ int exec_infix2postfix(calc_number_t *number, unsigned int func)
|
||||
if (func == RPN_OPERATOR_PERCENT)
|
||||
percent_mode = TRUE;
|
||||
|
||||
mpfr_init(tmp.number.mf);
|
||||
rpn_copy(&tmp.number, number);
|
||||
tmp.operation = func;
|
||||
mpfr_init(tmp.node.number.mf);
|
||||
rpn_copy(&tmp.node.number, number);
|
||||
tmp.node.operation = func;
|
||||
|
||||
push(&tmp);
|
||||
mpfr_clear(tmp.number.mf);
|
||||
mpfr_clear(tmp.node.number.mf);
|
||||
|
||||
if (func == RPN_OPERATOR_NONE)
|
||||
return 0;
|
||||
@@ -410,24 +390,24 @@ void exec_change_infix(void)
|
||||
|
||||
void exec_closeparent(calc_number_t *number)
|
||||
{
|
||||
calc_node_t *op, ip;
|
||||
stack_node_t *op, ip;
|
||||
|
||||
rpn_alloc(&ip.number);
|
||||
rpn_copy(&ip.number, number);
|
||||
rpn_alloc(&ip.node.number);
|
||||
rpn_copy(&ip.node.number, number);
|
||||
while (!is_stack_empty()) {
|
||||
op = pop();
|
||||
|
||||
if (op->operation == RPN_OPERATOR_PARENT)
|
||||
if (op->node.operation == RPN_OPERATOR_PARENT)
|
||||
break;
|
||||
|
||||
run_operator(&ip, op, &ip, op->operation);
|
||||
run_operator(&ip.node, &op->node, &ip.node, op->node.operation);
|
||||
if (calc.is_nan) {
|
||||
flush_postfix();
|
||||
return;
|
||||
}
|
||||
}
|
||||
rpn_copy(number, &ip.number);
|
||||
rpn_free(&ip.number);
|
||||
rpn_copy(number, &ip.node.number);
|
||||
rpn_free(&ip.node.number);
|
||||
}
|
||||
|
||||
int eval_parent_count(void)
|
||||
@@ -443,12 +423,12 @@ int eval_parent_count(void)
|
||||
return n;
|
||||
}
|
||||
|
||||
void flush_postfix(void)
|
||||
void flush_postfix()
|
||||
{
|
||||
while (!is_stack_empty())
|
||||
pop();
|
||||
/* clear prev and last typed operators */
|
||||
calc.prev_operator =
|
||||
calc.prev_operator =
|
||||
calc.last_operator = 0;
|
||||
}
|
||||
|
||||
@@ -460,7 +440,7 @@ void start_rpn_engine(void)
|
||||
mpfr_init(calc.code.mf);
|
||||
mpfr_init(calc.prev.mf);
|
||||
mpfr_init(calc.memory.number.mf);
|
||||
mpfr_init(temp.number.mf);
|
||||
mpfr_init(temp.node.number.mf);
|
||||
rpn_zero(&calc.memory.number);
|
||||
}
|
||||
|
||||
@@ -469,5 +449,5 @@ void stop_rpn_engine(void)
|
||||
mpfr_clear(calc.code.mf);
|
||||
mpfr_clear(calc.prev.mf);
|
||||
mpfr_clear(calc.memory.number.mf);
|
||||
mpfr_clear(temp.number.mf);
|
||||
mpfr_clear(temp.node.number.mf);
|
||||
}
|
||||
|
@@ -1,127 +0,0 @@
|
||||
/*
|
||||
* ReactOS Calc (Theming support)
|
||||
*
|
||||
* Copyright 2007-2017, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
#define GET_CB(name) \
|
||||
calc_##name = (type_##name)GetProcAddress(hUxTheme, #name); \
|
||||
if (calc_##name == NULL) calc_##name = dummy_##name;
|
||||
|
||||
static HTHEME WINAPI
|
||||
dummy_OpenThemeData(HWND hwnd, const WCHAR *pszClassList);
|
||||
|
||||
static HRESULT WINAPI
|
||||
dummy_CloseThemeData(HTHEME hTheme);
|
||||
|
||||
static HRESULT WINAPI
|
||||
dummy_DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId,
|
||||
const RECT *prc, const RECT *prcClip);
|
||||
|
||||
static BOOL WINAPI
|
||||
dummy_IsAppThemed(void);
|
||||
|
||||
static BOOL WINAPI
|
||||
dummy_IsThemeActive(void);
|
||||
|
||||
static BOOL WINAPI
|
||||
dummy_IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId, int iStateId);
|
||||
|
||||
static HRESULT WINAPI
|
||||
dummy_DrawThemeParentBackground(HWND hWnd, HDC hdc, RECT *prc);
|
||||
|
||||
|
||||
type_OpenThemeData calc_OpenThemeData = dummy_OpenThemeData;
|
||||
type_CloseThemeData calc_CloseThemeData = dummy_CloseThemeData;
|
||||
type_DrawThemeBackground calc_DrawThemeBackground = dummy_DrawThemeBackground;
|
||||
type_IsAppThemed calc_IsAppThemed = dummy_IsAppThemed;
|
||||
type_IsThemeActive calc_IsThemeActive = dummy_IsThemeActive;
|
||||
type_IsThemeBackgroundPartiallyTransparent calc_IsThemeBackgroundPartiallyTransparent = \
|
||||
dummy_IsThemeBackgroundPartiallyTransparent;
|
||||
type_DrawThemeParentBackground calc_DrawThemeParentBackground = \
|
||||
dummy_DrawThemeParentBackground;
|
||||
|
||||
static HMODULE hUxTheme;
|
||||
|
||||
static HTHEME WINAPI
|
||||
dummy_OpenThemeData(HWND hwnd, const WCHAR* pszClassList)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
dummy_CloseThemeData(HTHEME hTheme)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
dummy_DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId,
|
||||
const RECT* prc, const RECT* prcClip)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static BOOL WINAPI
|
||||
dummy_IsAppThemed(void)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL WINAPI
|
||||
dummy_IsThemeActive(void)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static BOOL WINAPI
|
||||
dummy_IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId, int iStateId)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI
|
||||
dummy_DrawThemeParentBackground(HWND hWnd, HDC hdc, RECT *prc)
|
||||
{
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
void Theme_Start(HINSTANCE hInstance)
|
||||
{
|
||||
hUxTheme = LoadLibrary(_T("UXTHEME"));
|
||||
if (hUxTheme == NULL)
|
||||
return;
|
||||
|
||||
GET_CB(OpenThemeData)
|
||||
GET_CB(CloseThemeData)
|
||||
GET_CB(DrawThemeBackground)
|
||||
GET_CB(IsAppThemed)
|
||||
GET_CB(IsThemeActive)
|
||||
GET_CB(IsThemeBackgroundPartiallyTransparent)
|
||||
GET_CB(DrawThemeParentBackground)
|
||||
}
|
||||
|
||||
void Theme_Stop(void)
|
||||
{
|
||||
if(hUxTheme == NULL)
|
||||
return;
|
||||
|
||||
FreeLibrary(hUxTheme);
|
||||
hUxTheme = NULL;
|
||||
}
|
107
base/applications/calc/utl.c
Normal file
107
base/applications/calc/utl.c
Normal file
@@ -0,0 +1,107 @@
|
||||
#include "calc.h"
|
||||
|
||||
void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
|
||||
{
|
||||
calc_number_t tmp;
|
||||
int width;
|
||||
|
||||
switch (base) {
|
||||
case IDC_RADIO_HEX:
|
||||
_stprintf(buffer, TEXT("%I64X"), rpn->i);
|
||||
break;
|
||||
case IDC_RADIO_DEC:
|
||||
/*
|
||||
* Modifed from 17 to 16 for fixing this bug:
|
||||
* 14+14+6.3+6.3= 40.5999999 instead of 40.6
|
||||
* So, it's probably better to leave the least
|
||||
* significant digit out of the display.
|
||||
*/
|
||||
#define MAX_LD_WIDTH 16
|
||||
/* calculate the width of integer number */
|
||||
width = (rpn->f==0) ? 1 : (int)log10(fabs(rpn->f))+1;
|
||||
if (calc.sci_out == TRUE || width > MAX_LD_WIDTH || width < -MAX_LD_WIDTH)
|
||||
_stprintf(buffer, TEXT("%#e"), rpn->f);
|
||||
else {
|
||||
TCHAR *ptr, *dst;
|
||||
|
||||
ptr = buffer + _stprintf(buffer, TEXT("%#*.*f"), width, ((MAX_LD_WIDTH-width-1)>=0) ? MAX_LD_WIDTH-width-1 : 0, rpn->f);
|
||||
/* format sring ensures there is a '.': */
|
||||
dst = _tcschr(buffer, TEXT('.'));
|
||||
while (--ptr > dst)
|
||||
if (*ptr != TEXT('0'))
|
||||
break;
|
||||
|
||||
/* put the string terminator for removing the final '0' (if any) */
|
||||
ptr[1] = TEXT('\0');
|
||||
/* check if the number finishes with '.' */
|
||||
if (ptr == dst)
|
||||
/* remove the dot (it will be re-added later) */
|
||||
ptr[0] = TEXT('\0');
|
||||
}
|
||||
#undef MAX_LD_WIDTH
|
||||
break;
|
||||
case IDC_RADIO_OCT:
|
||||
_stprintf(buffer, TEXT("%I64o"), rpn->i);
|
||||
break;
|
||||
case IDC_RADIO_BIN:
|
||||
if (rpn->i == 0) {
|
||||
buffer[0] = TEXT('0');
|
||||
buffer[1] = TEXT('\0');
|
||||
break;
|
||||
}
|
||||
tmp = *rpn;
|
||||
buffer[0] = TEXT('\0');
|
||||
while (tmp.u) {
|
||||
memmove(buffer+1, buffer, (size-1)*sizeof(TCHAR));
|
||||
if (tmp.u & 1)
|
||||
calc.buffer[0] = TEXT('1');
|
||||
else
|
||||
calc.buffer[0] = TEXT('0');
|
||||
tmp.u >>= 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void convert_text2number_2(calc_number_t *a)
|
||||
{
|
||||
TCHAR *ptr;
|
||||
|
||||
switch (calc.base) {
|
||||
case IDC_RADIO_HEX:
|
||||
_stscanf(calc.buffer, TEXT("%I64X"), &(a->i));
|
||||
break;
|
||||
case IDC_RADIO_DEC:
|
||||
_stscanf(calc.buffer, TEXT("%lf"), &(a->f));
|
||||
break;
|
||||
case IDC_RADIO_OCT:
|
||||
_stscanf(calc.buffer, TEXT("%I64o"), &(a->i));
|
||||
break;
|
||||
case IDC_RADIO_BIN:
|
||||
ptr = calc.buffer;
|
||||
a->i = 0;
|
||||
while (*ptr != TEXT('\0')) {
|
||||
a->i <<= 1;
|
||||
if (*ptr++ == TEXT('1'))
|
||||
a->i |= 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void convert_real_integer(unsigned int base)
|
||||
{
|
||||
switch (base) {
|
||||
case IDC_RADIO_DEC:
|
||||
calc.code.f = (double)calc.code.i;
|
||||
break;
|
||||
case IDC_RADIO_OCT:
|
||||
case IDC_RADIO_BIN:
|
||||
case IDC_RADIO_HEX:
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
calc.code.i = (__int64)calc.code.f;
|
||||
apply_int_mask(&calc.code);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
@@ -1,127 +0,0 @@
|
||||
/*
|
||||
* ReactOS Calc (Utility functions for IEEE-754 engine)
|
||||
*
|
||||
* Copyright 2007-2017, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
|
||||
{
|
||||
calc_number_t tmp;
|
||||
int width;
|
||||
|
||||
switch (base) {
|
||||
case IDC_RADIO_HEX:
|
||||
_stprintf(buffer, _T("%I64X"), rpn->i);
|
||||
break;
|
||||
case IDC_RADIO_DEC:
|
||||
/*
|
||||
* Modified from 17 to 16 for fixing this bug:
|
||||
* 14+14+6.3+6.3= 40.5999999 instead of 40.6
|
||||
* So, it's probably better to leave the least
|
||||
* significant digit out of the display.
|
||||
*/
|
||||
#define MAX_LD_WIDTH 16
|
||||
/* calculate the width of integer number */
|
||||
width = (rpn->f==0) ? 1 : (int)log10(fabs(rpn->f))+1;
|
||||
if (calc.sci_out == TRUE || width > MAX_LD_WIDTH || width < -MAX_LD_WIDTH)
|
||||
_stprintf(buffer, _T("%#.*e"), MAX_LD_WIDTH-1, rpn->f);
|
||||
else {
|
||||
TCHAR *ptr, *dst;
|
||||
|
||||
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 '.': */
|
||||
dst = _tcschr(buffer, _T('.'));
|
||||
while (--ptr > dst)
|
||||
if (*ptr != _T('0'))
|
||||
break;
|
||||
|
||||
/* put the string terminator for removing the final '0' (if any) */
|
||||
ptr[1] = _T('\0');
|
||||
/* check if the number finishes with '.' */
|
||||
if (ptr == dst)
|
||||
/* remove the dot (it will be re-added later) */
|
||||
ptr[0] = _T('\0');
|
||||
}
|
||||
#undef MAX_LD_WIDTH
|
||||
break;
|
||||
case IDC_RADIO_OCT:
|
||||
_stprintf(buffer, _T("%I64o"), rpn->i);
|
||||
break;
|
||||
case IDC_RADIO_BIN:
|
||||
if (rpn->i == 0) {
|
||||
buffer[0] = _T('0');
|
||||
buffer[1] = _T('\0');
|
||||
break;
|
||||
}
|
||||
tmp = *rpn;
|
||||
buffer[0] = _T('\0');
|
||||
while (tmp.u) {
|
||||
memmove(buffer+1, buffer, (size-1)*sizeof(TCHAR));
|
||||
if (tmp.u & 1)
|
||||
buffer[0] = _T('1');
|
||||
else
|
||||
buffer[0] = _T('0');
|
||||
tmp.u >>= 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void convert_text2number_2(calc_number_t *a)
|
||||
{
|
||||
TCHAR *ptr;
|
||||
|
||||
switch (calc.base) {
|
||||
case IDC_RADIO_HEX:
|
||||
_stscanf(calc.buffer, _T("%I64X"), &(a->i));
|
||||
break;
|
||||
case IDC_RADIO_DEC:
|
||||
_stscanf(calc.buffer, _T("%lf"), &(a->f));
|
||||
break;
|
||||
case IDC_RADIO_OCT:
|
||||
_stscanf(calc.buffer, _T("%I64o"), &(a->i));
|
||||
break;
|
||||
case IDC_RADIO_BIN:
|
||||
ptr = calc.buffer;
|
||||
a->i = 0;
|
||||
while (*ptr != _T('\0')) {
|
||||
a->i <<= 1;
|
||||
if (*ptr++ == _T('1'))
|
||||
a->i |= 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void convert_real_integer(unsigned int base)
|
||||
{
|
||||
switch (base) {
|
||||
case IDC_RADIO_DEC:
|
||||
calc.code.f = (double)calc.code.i;
|
||||
break;
|
||||
case IDC_RADIO_OCT:
|
||||
case IDC_RADIO_BIN:
|
||||
case IDC_RADIO_HEX:
|
||||
if (calc.base == IDC_RADIO_DEC) {
|
||||
calc.code.i = (__int64)calc.code.f;
|
||||
apply_int_mask(&calc.code);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
@@ -1,23 +1,3 @@
|
||||
/*
|
||||
* ReactOS Calc (Utility functions for GMP/MPFR engine)
|
||||
*
|
||||
* Copyright 2007-2017, Carlo Bramini
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "calc.h"
|
||||
|
||||
void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
|
||||
@@ -82,8 +62,8 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
|
||||
case IDC_RADIO_BIN:
|
||||
/* if the number is zero, just write 0 ;) */
|
||||
if (rpn_is_zero(rpn)) {
|
||||
temp[0] = _T('0');
|
||||
temp[1] = _T('\0');
|
||||
temp[0] = TEXT('0');
|
||||
temp[1] = TEXT('\0');
|
||||
break;
|
||||
}
|
||||
/* repeat until a bit set to '1' is found */
|
||||
@@ -98,8 +78,8 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
|
||||
} while (1);
|
||||
/* now revert the string into TCHAR buffer */
|
||||
for (q=0; q<n; q++)
|
||||
buffer[n-q-1] = (temp[q] == '1') ? _T('1') : _T('0');
|
||||
buffer[n] = _T('\0');
|
||||
buffer[n-q-1] = (temp[q] == '1') ? TEXT('1') : TEXT('0');
|
||||
buffer[n] = TEXT('\0');
|
||||
|
||||
mpz_clear(zz);
|
||||
mpf_clear(ff);
|
||||
@@ -107,7 +87,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
|
||||
}
|
||||
mpz_clear(zz);
|
||||
mpf_clear(ff);
|
||||
_sntprintf(buffer, SIZEOF(calc.buffer), _T("%hs"), temp);
|
||||
_sntprintf(buffer, SIZEOF(calc.buffer), TEXT("%s"), temp);
|
||||
}
|
||||
|
||||
void convert_text2number_2(calc_number_t *a)
|
||||
@@ -155,3 +135,4 @@ void convert_real_integer(unsigned int base)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,33 +1,4 @@
|
||||
1.12 (20181104)
|
||||
=======================
|
||||
* Fixed bug 12.37 13/06/2009 into multiprecision display (unicode only).
|
||||
* Added support for average of squares and mean of squares into statistical functions.
|
||||
* pop() and push() functions in RPN engines now work with nodes instead of stack units.
|
||||
* Updated translations from ReactOS' repository.
|
||||
* Added support for new conversion units:
|
||||
- ANGLE: 'minute of arc', 'second of arc'.
|
||||
- AREA: 'mu', 'rai'.
|
||||
- LENGTH: 'chi', 'cun'. 'sun' optimized.
|
||||
- TIME: 'nanoseconds'.
|
||||
- WEIGHT: 'Kan', 'Kin'.
|
||||
* Added support for thailand measure system:
|
||||
|
||||
Invaluable help from this page:
|
||||
http://www.eppo.go.th/ref/UNIT-ALL.html
|
||||
|
||||
* Moved the POW and SQR operations near the operators.
|
||||
* Rewritten some units formula by using scientific notation.
|
||||
* Improved precision of parsec unit conversion formula.
|
||||
* Fixed bug when calculator was closed with statistics dialog open.
|
||||
* Do not append decimal separator if "ERROR" messages are printed.
|
||||
* Improve code readability by using SetDlgItemText and GetDlgItemText functions
|
||||
* Colours are now declared though RGB() macro.
|
||||
* Remove call to _tcslen() and use return value of GetDlgItemText() where possible.
|
||||
* Added theming support. Requires Windows XP or later.
|
||||
* Configuration is read from WIN.INI under W32S/Win9x/Me and from the registry for all NT platforms.
|
||||
* Removed safe DS_SHELLFONT declaration.
|
||||
|
||||
1.11 (20090404)
|
||||
1.11 (20080813)
|
||||
=======================
|
||||
* Updated translations (thanks to the friends at ReactOS' community).
|
||||
* Added DS_SHELLFONT to some dialogs into various translations (sometimes it was specified, sometimes it was not).
|
||||
@@ -45,7 +16,7 @@
|
||||
* Fixed some unsignaled overflow errors.
|
||||
* Fixed conversion method, now scientific notation is recognized too.
|
||||
* Added compilation for UNICODE executables.
|
||||
* Plain MINGW toolchain does not support wWinMain function, so I switched to old WinMain if it is not under ReactOS' build tree.
|
||||
* Plain MINGW toolchain do not support wWinMain function, so I switched to old WinMain if it is not under ReactOS' build tree.
|
||||
* Detect error if UNICODE version is launched into Win9x (avoid the lock).
|
||||
|
||||
1.09 (20080630)
|
||||
@@ -63,7 +34,7 @@
|
||||
* Corrected precision underflow/overflow when working with trigonometric functions.
|
||||
* cbrt() function is not used if compiling into ReactOS build system.
|
||||
* Resources are moved into /res directory.
|
||||
* Added new (partial) support for other languages: bulgarian, spanish, german, dutch, polish, russian, slovak, ukrainian.
|
||||
* Added new (partial) support for other languages: bulgarian, spanish, german, dutch, polish, russian, slovak, ukraianian.
|
||||
* Decimal precision of number with standard layout has been limited to 16 digits because the output display is smaller here (GMP version only).
|
||||
* Fixed buffer overflow with function update_lcd_display().
|
||||
* The decimal point is now preserved when switching to temporary scientific notation.
|
||||
@@ -132,8 +103,8 @@
|
||||
* The version number of the programme has been moved from the resource files to ABOUT.C.
|
||||
* "DOT" function can be used for starting a number (integer part will be zero).
|
||||
* Added repeat function.
|
||||
* If the number is greater than maximum resolution, it will be displayed with exponential notation.
|
||||
* Removed mouse and keyboard focuses from displayed buttons.
|
||||
* If the number is grater than maximum resolution, it will be displayed with exponential notation.
|
||||
* Removed mouse and keyboard focuses from displayed buttons.
|
||||
* Added normal and small icons.
|
||||
|
||||
1.00 (20070323)
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user