Compare commits

..

1 Commits

Author SHA1 Message Date
Aleksandar Andrejevic
10ddfd2868 [BRANCHES]
Correctly create a branch for sound blaster driver work.


svn path=/branches/sndblst/; revision=72665
2016-09-12 20:42:46 +00:00
21896 changed files with 1445125 additions and 5484407 deletions

View File

@@ -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
...

View File

@@ -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
View File

@@ -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
View File

@@ -1,2 +0,0 @@
custom: ['https://reactos.org/donate/', 'https://www.paypal.me/ReactOS']
liberapay: ReactOS

View File

@@ -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
View File

@@ -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/**

View File

@@ -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

View File

@@ -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 }}"

View File

@@ -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
View File

@@ -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

View File

@@ -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
View File

@@ -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

View File

@@ -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==

View File

@@ -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"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"cpp.buildConfigurations": [
{
"name": "build",
"directory": "${workspaceFolder}/build"
}
],
"cpp.clangdArgs": "--background-index",
"C_Cpp.intelliSenseEngine": "Disabled",
}

View File

@@ -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": []
},
],
}

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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
View File

@@ -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>

579
Doxyfile

File diff suppressed because it is too large Load Diff

20
INSTALL
View File

@@ -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

View File

@@ -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
View 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
View File

@@ -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/) &bull;
[Official chat](https://chat.reactos.org/) &bull;
[Wiki](https://reactos.org/wiki/) &bull;
[Forum](https://reactos.org/forum/) &bull;
[Community Discord](https://discord.gg/7knjvhT) &bull;
[JIRA Bug Tracker](https://jira.reactos.org/issues/) &bull;
[ReactOS Git mirror](https://git.reactos.org/) &bull;
[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
![Build](https://github.com/reactos/reactos/workflows/Build/badge.svg) [![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:
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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/

View File

@@ -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)

View File

@@ -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)

View File

@@ -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;

View File

@@ -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)

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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\

View File

@@ -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

View File

@@ -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\

View File

@@ -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\

View File

@@ -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\

View File

@@ -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\

View File

@@ -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\

View File

@@ -1,4 +1,4 @@
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN

View File

@@ -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

View File

@@ -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\

View File

@@ -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

View File

@@ -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

View File

@@ -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"

View File

@@ -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\

View File

@@ -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

View File

@@ -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"

View File

@@ -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"

View File

@@ -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)

View File

@@ -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 */

View File

@@ -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")

View File

@@ -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)
{
}

View File

@@ -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;

View 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)
{
}

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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"

View File

@@ -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"

View File

@@ -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 "Πορτογαλικό εσκούδο"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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 */

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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 "ポルトガル エスクード"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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 "Португальское эскудо"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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 "ı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ç"

View File

@@ -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 "Португальське ескудо"

View File

@@ -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

View File

@@ -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

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -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

View File

@@ -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

View 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)
{
}

View File

@@ -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)
{
}

View File

@@ -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);
}

View File

@@ -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;
}

View 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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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