pythainlp/thai-wiki-dataset-v3 huggingface dataset:
การเขียนโปรแกรมภาษาซี/สตริง

string (**สตริง** **สายอักขระ** **ข้อความ**) เป็น [ADT] และ [datatype] ชนิดหนึ่งสำหรับเก็บข้อความ สำหรับทั้งภาษา C และ C++ นั้น ค่าคงที่] string ([const] string) จะเขียนอยู่ในคู่ของอัญประกาศ ("...") เช่น "hello world"
+ ภาษา C
ภาษา C **ไม่มี** datatype ชื่อ string จริงๆ มีแต่รูปแบบ string ซึ่งเป็น [array] ของ [char] และมีการจัดเก็บข้อมูลพิเศษกว่า array ของ char ธรรมดาเล็กน้อย
 การเก็บข้อม.
array ของ char จะประกอบไปด้วยอักขระต่างๆ อักขระในช่องที่ $ i $ ใน array แทนด้วยอักขระตัวที่ $ i $ ของ string


หลังจากอักขระช่องสุดท้ายจะมี [null character] ('\0', 0) ปิดท้าย**


อาจกล่าวได้ว่า string = array of char + '\0'
 const stri.
 การประกาศตัวแ.
สมมุติจะสร้าง string ซึ่งเก็บข้อมูล "abcx" โดยประกาศ array 10 ช่อง
code
char str[10];
str[0] = 'a';
str[1] = 'b';
str[2] = 'c';
str[3] = 'x';
str[4] = '\0';
/code
ในกรณีที่ประกาศตัวแปร สามารถใช้ [initializer] คล้ายๆ array ได้ (อ่านเพิ่มเติมที่ [array#initializer])
code
char str[10] = {'a', 'b', 'c', 'x', '\0'};
/code
หรือ
code
char str[10] = "abcx";
/code
คล้ายๆกับ array ซึ่งอาจจะไม่ระบุจำนวนช่องก็ได้ จำนวนช่องของ array จะเป็น $ n + 1 $ ตามจำนวนการใช้ช่อง
code
char str[] = "abcx";
/code
เนื่องจาก array และ [pointer] คล้ายๆกัน (แทบจะเป็นสิ่งเดียวกัน) จากโค้ดที่แล้วจึงอาจเขียนได้ว่า
code
char* str = "abcx";
/code
พึงระวังว่าความหมายของคำสั่งนี้ หมายความว่าให้ address ของ array/string "abcx" มาใส่ใน pointer str
ซึ่ง "abcx" เป็นค่าคงที่ ถูกเก็บใน[หน่วยความจำส่วน code] ซึ่งหน่วยความจำส่วนนี้**แก้ค่าไม่ได้**
หากสั่ง
code
str[0] = 'z';
/code
โปรแกรมจะ [crash] ทันที
แต่ const string = const array = const char* ดังนั้นจึงสามารถ assign เมื่อไหร่ก็ได้ แตกต่างจาก array ที่ทำได้ตอน initialize เท่านั้น
code
char *str;
str = "abcx";
/code
จากโค้ดตัวอย่างทั้ง 2 อันที่แล้ว สำหรับภาษา C++ ซึ่งเคร่งครัดเรื่อง datatype มากกว่า C จะไม่สามารถทำได้ เพราะ "abcx" เป็น const string = const char* ดังนั้น str ก็ควรเป็น const char* ด้วย จึงสามารถ assign ค่าได้เฉพาะตอน initialize เท่านั้น นอกจากนี้ datatype ก็ควรจะเป็น const char* แทนที่ char* ด้วย
code
const char *str = "abcx";
/code
หากอยาก assign ค่าเมื่อไหร่ก็ได้ อาจใช้ [datatype conversion] เข้ามาช่วย โดยการประกาศเป็น char* เหมือนเดิม แต่การ assign ค่าต้องมีการทำ [datatype conversion] ด้วย
code
char *str;
str = (char*)"abcx";
/code
+ ฟังก์ชั่นใน string.h
อ่านเพิ่มที่ string.h
+ ภาษา C++
อาจใช้ array ของ char เหมือนภาษา C หรือใช้ std::string ก็ได้
สารบัญ

/สตริง
/stdio.h
/stdlib.h
/ตัวชี้
การเขียนโปรแกรมภาษาซี/ตัวชี้

pointer** (**พอยน์เตอร์** **ตัวชี้**) เป็น [datatype] อย่างหนึ่งในภาษา C และ C++ ใช้เก็บ **address** (**ที่อยู่หน่วยความจำ**) ที่ใช้ในการอ้างถึงตัวแปรต่างๆในหน่วยความจำ RAM


สำหรับตัวแปรใดๆจะประกอบไปด้วย 4 ส่วนคือ

**ข้อมูลที่ตัวแปรเก็บ (value)** เช่น int a = 42; ค่าที่เก็บคือ 42
**ชื่อตัวแปร (variable name, variable)** ซึ่งเป็นชื่อเล่นของหน่วยความจำส่วนนั้น เช่น int a = 42; ชื่อตัวแปรคือ a
**ที่อยู่ของหน่วยความจำ (address)** เป็นตัวเลขระบุถึงหน่วยความจำช่องต่างๆ สมมุติ RAM มีขนาด 1GB ($ 2^{30} $, 1073741824 bytes) ก็จะมี address 1073741824 ช่อง อาจเปรียบเทียบให้ RAM เป็น [array] ขนาดยักษ์ โดยมี address เป็น index ซึ่ง address นี้จะมีค่าไม่แน่นอน ขึ้นอยู่กับว่าเมื่อมีการจองหน่วยความจำ ระบบปฏิบัติการจะจัดสรรหน่วยความจำ/address ใดให้ ตัวอย่าง address เช่น 41608 เป็นต้น (เลขมั่วนะครับ :P)
**ชนิดข้อมูล** (**datatype**) เป็นชนิดข้อมูลของตัวแปร ชนิดข้อมูลต่างๆกันก็อาจจะมีขนาดชนิดข้อมูลต่างกัน เช่น int 4 byte, short 2 byte เป็นต้น และอาจประมวลผลข้อมูลต่างกัน (เช่น float กับ int ต่างมีขนาด 4 byte แต่ประมวลผลและจัดเก็บข้อมูลต่างกัน) ตัวอย่างชนิดข้อมูลเช่น int

สมมุติ int a = 5; และ address ของ a เป็น __41608__ (ต่อไปนี้จะเขียน address โดยมีขีดเส้นใต้ เพื่อแยกแยะความแตกต่างของ address กับ value)

**address-of / reference operator** (เครื่องหมาย **&**) เอาใช้กับ **variable** ได้ **address** คืนมา จากตัวอย่างจะได้ว่า &a => __41608__
**dereference** (เครื่องหมาย *****) เอาไว้ใช้กับ **address** ได้ **variable** คืนมา จากตัวอย่างจะได้ว่า *(__41608__) => a

 array กับ addre.
 การดำเนินการทางคณิตศาสตร์กับ addre.
+ pointer
+ malloc / free
สารบัญ

การเขียนโปรแกรมภาษาซี
OpenOffice

REDIRECT โอเพนออฟฟิศดอตอ็อก
OpenOffice.org

REDIRECT โอเพนออฟฟิศดอตอ็อก
Blender 3D

เปลี่ยนทาง
Blender

เปลี่ยนทาง
Introduction to Obligations

REDIRECTหนี้
VB.Net

เปลี่ยนทาง วิชวลเบสิกดอตเน็ต
GIMP

REDIRECT กิมป์
คู่มือการใช้ไพวิกิพีเดีย/ช่วยพัฒนาที่ sourceforge.net

เว็บ http://sourceforge.net เป็นเว็บให้บริการในการพัฒนาโครงการโอเพนซอร์ซทั้งหลาย รวมถึงไพวิกิพีเดียด้วย อย่างไรก็ตามทีมงานไพวิกิพีเดียไม่ได้ใช้ sourceforge ในการพัฒนาทั้งหมด โดยมีเพียงเฉพาะการแจ้งข้อผิดพลาดโปรแกรม (Bug report) การส่งแพตช์ให้ผู้พัฒนา (Patch sending) การร้องขอความสามารถ (Feature requests) บริการให้คำปรึกษา (Support Request)
การแจ้งข้อผิดพลาด
การแจ้งข้อผิดพลาด.
เมื่อพบข้อผิดพลาด (บั๊ก) ในไพวิกิพีเดีย ให้ไปที่ http://sourceforge.net/tracker/?group_id=93107&atid=603138 และค้นหาว่ามีผู้เคยแจ้งเรื่องดังกล่าวแล้วหรือไม่ ถ้ายังไม่มีก็กดสร้างเรื่องใหม่และแจ้งได้เลย
การร้องขอความสามารถ
การร้องขอความสามารถ.
เมื่อคิดว่าไพวิกิพีเดีย ยังขาดความสามารถใดที่ควรจะมีอยู่ สามารถแจ้งได้ที่ http://sourceforge.net/tracker/?atid=603141&group_id=93107
การส่งแพตช์
การส่งแพตช์.
เมื่อพบข้อผิดพลาดของโปรแกรมหรือต้องการความสามารถใหม่ และไม่ต้องการรอให้นักพัฒนาคนอื่น คุณสามารถเขียนโค้ดเพื่อแก้ไขข้อผิดพลาดหรือเพิ่มความสามารถดังกล่าว และส่งไฟล์แพตช์ให้กับผุ้พัฒนาที่ https://sourceforge.net/tracker/?group_id=93107&atid=603140 หากผู้พัฒนาเห็นว่าไม่มีปัญหาก็จะรวมแพตช์ดังกล่าวเข้ากับโค้ดของไพวิกิพีเดียให้
นิติเหตุ

อาจได้ศึกษามาแล้วว่า หนี้เป็นความสัมพันธ์ทางกฎหมายระหว่างบุคคลตั้งแต่สองฝ่ายขึ้นไป ฝ่ายหนึ่งเรียกว่า "เจ้าหนี้" มีสิทธิบังคับให้อีกฝ่ายซึ่งเรียก "ลูกหนี้" ทำหรือไม่ทำการใด ๆ เพื่อประโยชน์ของฝ่ายเจ้าหนี้ได้ และหนี้เกิดขึ้นจากสิ่งสองสิ่ง คือ นิติกรรม และนิติเหตุ
นิติกรรม (legal transaction) คือ การที่บุคคลกระทำลงด้วยใจสมัครและโดยชอบด้วยกฎหมาย เพื่อก่อความสัมพันธ์ทางกฎหมายขึ้น ส่วนนิติเหตุ (legal cause) นั้นตรงกันข้าม กล่าวคือ เป็นเหตุการณ์ที่ผู้เกี่ยวข้องต้องเกิดมีความสัมพันธ์ทางกฎหมายกันขึ้นเพราะกฎหมายบัญญัติไว้เช่นนั้น ไม่ว่าเขาจะสมัครใจหรือไม่ก็ตาม
นิติเหตุแบ่งเป็นสี่อย่าง คือ
ในการศึกษานิติศาสตร์ในสถาบันอุดมศึกษาไทยทั่วไป นิติเหตุเป็นวิชาที่เรียก "ละเมิด จัดการงานนอกสั่ง และลาภมิควรได้" มักเล่าเรียนกันในปีที่สอง ถัดจากวิชาความรู้พื้นฐานเกี่ยวกับกฎหมายและระบบกฎหมาย กฎหมายบุคคล และกฎหมายนิติกรรมและสัญญา ตามลำดับ
เชิงอรรถ
นิติกรรมและสัญญา

มีความสัมพันธ์อยู่รูปแบบหนึ่งเรียกว่า หนี้ (obligation) เป็นสภาพที่บุคคลฝ่ายหนึ่งซึ่งเรียกว่า "ลูกหนี้" (obligor) ต้องทำหรือไม่ทำการอย่างใดอย่างหนึ่งเพื่อประโยชน์ของบุคคลอีกฝ่ายซึ่งเรียกว่า "เจ้าหนี้" (obligee) เช่น พวงทองแท้ขอซื้อที่ดินย่านรัชดาภิเษกจากพิณทองชุบ และพิณทองชุบตกลงขาย พวงทองแท้กับพิณทองชุบจึงเป็นหนี้ต่อกัน กล่าวคือ พวงทองแท้มีหนี้ต้องชำระราคาที่ดิน ส่วนพิณทองชุบมีหนี้ต้องส่งมอบที่ดิน
หนี้ดังกล่าวนี้เกิดขึ้นได้จากเหตุสองประการ คือ นิติกรรม และนิติเหตุ เหตุทั้งสองนี้เรียกว่า "มูลหนี้" (source of obligation)
นิติเหตุ (legal cause) คือ เหตุการณ์ที่ผู้เกี่ยวข้องต้องกลายเป็นหนี้เพราะกฎหมายกำหนดไว้ ไม่ว่าเขาจะสมัครใจเป็นหนี้หรือไม่ก็ตาม เช่น นางสาวแพปลาใช้โทรจิตขณะขับรถยนต์อยู่บนทางด่วน จึงชนรถตู้โดยสารสาธารณะเข้าอย่างจัง และเป็นเหตุให้เก้าชีวิตต้องตาย ผู้คนอีกหกรายต้องบาดเจ็บ นางสาวแพปลาจึงมีหนี้ที่จะต้องใช้ค่าเสียหายให้แก่ผู้เสียหาย เพราะกฎหมายถือว่า เธอทำละเมิดต่อผู้เสียหาย ไม่ใช่เพราะเธอสมัครใจจะเป็นหนี้
ส่วนนิติกรรม (legal transaction, juristic act หรือ juridical act) นั้นอธิบายคร่าว ๆ ก่อนว่า ต่างจากนิติเหตุตรงที่เกิดจากความสมัครใจของผู้เกี่ยวข้อง ดังตัวอย่างพวงทองแท้กับพิณทองชุบข้างต้น คู่กรณีในนิติกรรมจะมีกี่ฝ่ายก็ได้ ถ้ามีตั้งแต่สองฝ่ายขึ้นไป นิติกรรมนั้นเรียก สัญญา (contract)
การแบ่งแยกระหว่างนิติกรรมกับสัญญาเป็นแนวคิดซึ่งพัฒนาขึ้นในวงการนิติศาสตร์เยอรมัน และแพร่หลายมาถึงประเทศที่ใช้กฎหมายเยอรมันเป็นแม่แบบกฎหมายของตัว เช่น ประเทศญี่ปุ่น และประเทศไทย ขณะที่บางท้องที่ในโลก เช่น ประเทศฝรั่งเศส แม้ใช้กฎหมายระบบซีวิลลอว์ (civil law) เหมือนประเทศเยอรมัน แต่ก็ไม่รู้จักนิติกรรม ท้องที่เหล่านี้เรียกความผูกพันทำนองนิติกรรมว่า "สัญญา" ทั้งสิ้น ไม่แบ่งแยกเป็นนิติกรรมและสัญญา รายละเอียดเกี่ยวกับนิติกรรมและสัญญานั้นจะได้ว่ากันต่อไปภายหน้า
สำหรับประเทศไทย กฎหมายนิติกรรมและสัญญา (law of legal transactions and contracts) ปรากฏอยู่ใน ป.พ.พ. บ. 1 ล. 4 และ บ. 2 ล. 2 เป็นหลัก ส่วนในสถาบันอุดมศึกษาไทยโดยทั่วไปนั้น ศึกษากฎหมายนิติกรรมและสัญญากันในปีแรก ถัดจากวิชาความรู้พื้นฐานเกี่ยวกับกฎหมายและระบบกฎหมาย และวิชากฎหมายบุคคล
เพื่อประโยชน์ในการศึกษากฎหมายนิติกรรมและสัญญา ตำรานี้จึงแบ่งส่วนดังนี้
 ภาค 1 บททั่วไป: ว่าด้วยนิยาม ลักษณะ ความเป็นมา ทฤษฎี หลักการ และประเภทของนิติกรรมและสัญญา
 ภาค 2 นิติกรรม: ว่าด้วยนิติกรรม ตั้งแต่การเกิด ความเป็นไป และความสิ้นสุดลง
 ภาค 3 สัญญา: ว่าด้วยสัญญา ตั้งแต่การเกิด ความเป็นไป และความสิ้นสุดลง
 ภาค 4 ความคุ้มครองพิเศษ: ว่าด้วยกฎหมายพิเศษซึ่งให้ความคุ้มครองแก่บุคคลในการทำนิติกรรมและสัญญาบางประเภท
อนึ่ง เพื่อประโยชน์ในการศึกษา ตำรานี้ได้แทรกศัพท์กฎหมายและศัพท์อื่นที่เป็นภาษาต่างประเทศไว้ โดยใช้ประมวลกฎหมายแพ่งเยอรมัน ญี่ปุ่น หรือฝรั่งเศส ซึ่งเป็นแม่แบบ ป.พ.พ. เป็นหลัก กับทั้งยังแทรก ฎ. บางฉบับไว้ด้วย แต่พึงทราบว่า ในระบบซีวิลลอว์ซึ่งเป็นระบบกฎหมายที่ใช้ในประเทศไทยนั้น คำพิพากษาไม่เป็นกฎหมาย เป็นเพียงการปรับใช้กฎหมายเป็นรายกรณีไปเท่านั้น
ภาคผนวก

รายการอ้างอิง
เชิงอรรถ
นิติกรรม

REDIRECTนิติกรรมและสัญญา
สัญญา

REDIRECTนิติกรรมและสัญญา
กฎหมายลักษณะนิติกรรมและสัญญา

REDIRECTนิติกรรมและสัญญา
กฎหมายลักษณะสัญญา

REDIRECTนิติกรรมและสัญญา
Contract

REDIRECTนิติกรรมและสัญญา
Legal transaction

REDIRECTนิติกรรมและสัญญา
Juristic act

REDIRECTนิติกรรมและสัญญา
กฎหมายลักษณะนิติกรรม

REDIRECTนิติกรรมและสัญญา
Law of property

REDIRECTทรัพย์สิน
Property law

REDIRECTทรัพย์สิน
Law of Succession

REDIRECTมรดก
Succession

REDIRECTมรดก
คู่มือการใช้ไพวิกิพีเดีย/ไพวิกิพีเดียคืออะไร

ไพวิกิพีเดีย (pywikipedia) หรือชื่อเต็มคือ Python Wikipediabot Framework เป็นชุดเครื่องมือสำหรับพัฒนาบอต (โปรแกรมอัตโนมัติ) บนวิกิพีเดียโดยใช้ภาษาไพทอน เดิมได้มีวัตถุประสงค์ที่จะให้ทำงานบนวิกิพีเดียเพียงอย่างเดียว แต่ปัจจุบันสามารถนำไปใช้กับทุก ๆ โครงการของมูลนิธิวิกิมีเดีย (โครงการพี่น้องอื่น ๆ เช่น วิกิตำรา วิกิซอร์ซ) รวมถึงบางวิกิที่ใช้ซอฟต์แวร์มีเดียวิกิได้ด้วย
ไพวิกิพีเดียเปิดให้ดาวน์โหลดใช้งานได้ฟรี (ดูสัญญาอนุญาตที่นี่) นอกจากนี้ เนื่องจากไพวิกิพีเดียใช้ภาษาไพทอนซึ่งรองรับการทำงานบนระบบปฏิบัติการมากมาย จึงทำให้ไพวิกิพีเดียทำงานบนระบบปฏิบัติการส่วนใหญ่ได้
บอตคืออะไร
บอตคืออะไร.
บอตคือโปรแกรมอัตโนมัติที่สามารถทำงานซ้ำซากจำเจโดยอัตโนมัติโดยที่เราไม่ต้องมาทำเอง เช่น สมมุติอยากจะลบหมวดหมู่หนึ่งทิ้ง แต่ในหมวดหมู่นั้นมีบทความถึง 1000 บทความ! มานั่งไล่ลบด้วยมือทีละบทความคงไม่ใช่ความคิดที่ดีแน่
ทางเลือกที่ดีกว่านั้นก็คือให้บอตเข้ามาช่วยลบ โดยเราเพียงพิมพ์คำสั่งบางอย่างลงไป และปล่อยทิ้งให้โปรแกรมบอตทำงาน บอตก็จะค่อย ๆ ลบหมวดหมู่ออกจากบทความไปเรื่อย ๆ โดยระหว่างการทำงานนี้คุณไม่จำเป็นต้องทำอะไรเลย!
การใช้งาน
การใช้งาน.
การใช้งานไพวิกิพีเดียอาจแบ่งได้เป็น 2 รูปแบบ คือ การเรียกใช้งานสคริปต์ที่มีมาให้อยู่แล้ว และ การเขียนสคริปต์ขึ้นมาเอง
การเรียกใช้งานสคริปต์ที่มีมาให้อยู่แล้ว
การเรียกใช้งานสคริปต์ที่มีมาให้อยู่แล้ว.
การใช้งานแบบนี้แทบจะไม่ต้องใช้ความรู้ทางด้านการเขียนโปรแกรมเลยแม้แต่น้อย เนื่องจากเป็นเพียงการเรียกใช้สคริปต์ที่มีอยู่แล้ว (เป็นการพิมพ์คำสั่งลงไป) แต่ทั้งนี้การเรียกใช้สคริปต์ต้องดำเนินการภายใต้ Command-line interface ซึ่งอาจจะไม่เป็นที่คุ้นเคยเท่ากับ Graphical user interface
เช่น คำสั่ง codice_1 มีความหมายคือ
ดังนั้น เมื่อพิมพ์คำสั่ง codice_1 ลงไปก็จะเป็นการลบหมวดหมู่ ขั้นตอนวิธี ออกจากบทความที่อยู่ในหมวดหมู่ ขั้นตอนวิธี ดังกล่าว
อีกตัวอย่างหนึ่ง เช่น คำสั่ง codice_3 มีความหมายคือ
ดังนั้น เมื่อพิมพ์คำสั่ง codice_3 ลงไปก็จะเป็นการย้านหมวดหมู่ จาก อัลกอริทึม ไปเป็น ขั้นตอนวิธี
สำหรับผู้ที่ไม่คุ้นเคยกับ Command-line interface โปรดศึกษาจากบทถัดไป (ไม่ยากครับ!)
การเขียนสคริปต์ขึ้นมาเอง
การเขียนสคริปต์ขึ้นมาเอง.
ถึงแม้การเรียกใช้สคริปต์จะอำนวยความจะดวกให้กับเรามากแล้ว แต่ก็ยังมีข้อจำกัดบางประการที่ไม่สามารถทำได้ เช่น การย้อนการก่อกวนอัตโนมัติ หรือการปรับปรุงปฏิทินให้กับหน้าเหตุการณ์ปัจจุบัน สิ่งเหล่านี้ต้องอาศัยการคิดและวางแผนขั้นตอนวิธีในการให้ได้สิ่งที่เราต้องการ ซึ่งก็ต้องการเขียนโปรแกรมนั่นเอง
อย่างไรก็ตาม เราไม่จำเป็นต้องเขียนโปรแกรมเริ่มต้นจากหนึ่ง เนื่องจากไพวิกิพีเดียก็ได้นิยามฟังก์ชันมากมาย (ไลบรารี) ที่อำนวยความสะดวกให้กับการเขียนบอตแล้วนั่นเอง
Pywikipedia

เปลี่ยนทาง คู่มือการใช้ไพวิกิพีเดีย
คู่มือการใช้ไพวิกิพีเดีย/ความรู้ที่ต้องใช้

CLI เบื้องต้น
การเขียนโปรแกรม
สารบัญ
แนะนำเบื้องต้น
การติดตั้ง
การใช้งานสคริปต์
การใช้งานขั้นสูง
การเขียนสคริปต์
ช่วยพัฒนาไพวิกิพีเดีย
ภาคผนวก
แหล่งข้อมูลอื่น
สารบัญ.
แหล่งข้อมูลอื่น.
คู่มือการใช้ไพวิกิพีเดีย/วิธีติดตั้งขั้นสูง

เนื้อหาในหน้านี้เกี่ยวกับการติดตั้งขั้นสูง สำหรับผู้ใช้เริ่มต้นอาจข้ามส่วนนี้ไปเลยก็ได้
การใช้งานบอตหลายตัวในไซต์เดียวกัน
Law of Insurance

REDIRECTประกันภัย
Insurance law

REDIRECTประกันภัย
Law

REDIRECT
การใช้ถังดับเพลิง

การใช้ถังดับเพลิง

ดูชนิดของสารดับเพลิง เพื่อจะได้ใช้ได้ถูกชนิดในการดับเพลิงและจะได้ไม่เกิดความเสียหายเพิ่มขึ้นถ้าใช้ถูกชนิด
ตรวจดูปริมาณของถังในปัจจุบัน ถังที่จะใช้ต้องให้เข็มสีเหลืองอยู่ในพื้นที่สีเขียว ถ้าอยู่ในพื้นที่สีแดงไม่ควรใช้ในการดับเพลิง
ถอดสลัก

หมุนสลักเพื่อให้พลาสติกที่ยึดเอาไว้ขาด
ดึงสลักออก

ดึงสายฉีกออกจากถัง
จับสายถังดับเพลิง
ฉีดไปที่ฐานของไฟแล้วส่ายไปๆมาๆ
การจับสายถังดับเพลิง
สายของถังดับเพลิงแบบ คาร์บอนไดออกไซด์ หรือ CO2 ถัง CO2 เป็นหัวขนาดใหญ่ จะปล่อยความเย็นออกมาจากถังเหมือนน้ำแข็งแห้ง ไม่ควรจับตรงที่ปลายสุด ให้จับด้านล่างของหัวขนาดใหญ่ลงมา(ในวงสีแดงที่รูป)
สายของถังดับเพลิงแบบน้ำและแบบโฟมจะมีหัวไม่พอดีกับสาย ควรจับล่างของหัวฉีด 1 เซนติเมตร
ถังดับเพลิงแบบสารเคมีแห้ง หรือ Dry Chemical และ แบบฮาโลตรอน จะเป็นหัวขนาดเท่าสายควรจับตั้งแต่ห่วงเหล็กลงมา
อ้างอิง


คู่มือดับเพลิง
แหล่งข้อมูลอื่น
CryptoLab

CryptoLab เป็นโปรแกรม cryptography ซึ่งเป็น freeware สำหรับ Microsoft Windows
โดยรวบรวมวิธีการเข้ารหัสและถอดรหัสข้อความหลายๆวิธีมาใช้งาน ผ่านการใช้ plug-in cipher modules.
และมีฟังก์ชันการใช้งานที่ก้าวหน้าหลายๆฟังก์ชัน ซึ่งรวมทั้ง การสนับสนุน SMTP email , a Key Manager and pseudo-random
key generation.
รายละเอียด

ฟังก์ชันการใช้งาน :

รายละเอียด.
2.การสร้าง key โดยวิธีการ random
3.การจัดการกับ key (Key manager)
4.การป้องกันรหัสหรือ key (โดยวิธีการ SHA-1 hashing)
5.สนับสนุน SMTP email
6. การคำนวณเกียวกับข้อความที่จะเข้ารหัส (Statistics)

วิธีการเข้ารหัส

- Affine Shift
- ARCFOUR
- Blowfish
- Cipher Caesar Cipher
- Data Encryption Standard
- Modular Shift Algorithm (by EJC Cryptography)
- Rijndael (American Encryption Standard)
- Substitution Cipher
- Vigenre Cipher
ในปัจจุบันนี้สามารถ download ZIP file ของ Cryptlab โดยตรงผ่านทาง USB หรือ ไดฟ์อื่นๆ โดยไม่ต้อง
ติดตั้งบนเครื่องคอมพิวเตอร์ก่อน จากที่ก่อนหน้านี้จะต้องติดตั้ง Cryptolab บนคอมพิวเตอร์ก่อนที่จะสร้าง USB copy ได้
วิธีการใช้งานโปรแกรม เข้ารหัส ถอดรหัส CryptoLab

การเข้ารหัสและการถอดรหัสข้อความ

วิธีการใช้งานโปรแกรม เข้ารหัส ถอดรหัส CryptoLab.
2.เลือกวิธีที่จะเข้ารหัส ได้แก่ Caesar Cipher, Rijindael (AES) เป็นต้น (ช่องที่ 2 ภาพที่1)
3.ใส่ตัวอักษรที่จะใช้เป็น key ในการเข้ารหัสหรือถอดรหัส แล้วกดปุ่ม save ด้านล่างเพื่อเก็บ key นั้นเอาไว้ (ช่องที่ 3 ภาพที่1)
4.เลือกทำการเข้ารหัส โดยกดปุ่ม Encrypt (ช่องที่ 4 ภาพที่1)
หรือ เลือกทำการถอดรหัส โดยกดปุ่ม Decrypt (ช่องที่ 5 ภาพที่1)
5.เมื่อกดปุ่ม Encrypt หรือ Decrypt แล้วจะปรากฏข้อความที่ถูกเข้ารหัสแทนที่ข้อความที่นำมาเข้ารหัส

การจัดการ key

tools » key manage ที่ toolbar ด้านบน
การสร้าง key โดยการ random
1.การกดปุ่ม Random เพื่อสุ่ม key มาใช้งาน (ช่องที่1 ภาพที่3)
2.จะปรากฏ key ที่ได้จากการสุ่มของโปรแกรม (ช่องที่2 ภาพที่3)
3.กดปุ่ม Copy to Crypto Bar เป็นการ copy key ไปยังช่องที่เราพิมพ์ key ในตอนแรก (ช่องที่3 ภาพที่3)
การimport key จาก file ที่มีอยุ่แล้ว (ภาพที่4)
1.กด File บน toolbar
2.เลือก import contacts
3.เมื่อimport key มาแล้วจะปรากฏ ชื่อ file ที่เก็บ key (ช่องที่1 ภาพที่5)
และ key (ช่องที่2 ภาพที่5)

การตั้งค่าต่างๆ ในโปรแกรม

กด tools » settings ที่ toolbar ด้านบน
1.Modules คือ เป็นการบอกข้อมูลเกี่ยวกับวิธีการเข้ารหัส (ภาพที่6)
เมื่อกดปุ่มลูกศรท้ายชื่อวิธีการเข้ารหัส ก็สามารถเลือกดูการเข้ารหัสแต่ละวิธีที่โปรแกรมนี้มีได้
2.key Option คือ เป็นการเลือกข้อมูลต่างๆเกี่ยวกับ key ที่โปรแกรม random ให้ ซึ่งได้แก่
- การเลือกความยาวของ key (เลข1 ภาพ7)
- การเลือกให้ key เป็นได้ทุกcharactor เป็นตัวพิมพ์ใหญ่อย่างเดียว ตัวพิมพ์เล็กอย่างเดียว
เป็นเฉพาะตัวAlphabet หรือ เป็นตัวเลขเลขอย่างเดียว (เลข 2 ภาพที่7)
3.Security คือ การที่เรากำหนดรหัสเพื่อปกป้องการใช้งานโปรแกรม CryptoLab นี้
เมื่อเรากด Double click ที่ icon ของโปรแกรม CryptoLab ก็จะต้องใส่รหัสก่อนถึงจะเข้าโปรแกรมได้
4.General คือ เลือกการตั้งค่าของ Cryptolab
ถ้าเลือก USB ก็จะสร้าง copy ของโปรแกรมนี้บน USB ซึ่งข้อมูลและ key flie ก็จะถูก copy ด้วยเช่นกัน
อ้างอิง

CryptoLab
การเขียนโปรแกรมภาษาซี/stdlib.h/atoi

atoi เป็นฟังก์ชันในภาษา C การเขียนโปรแกรมที่แปลงสตริงเป็นตัวเลขแทนจำนวนเต็ม atoi ย่อมาจาก ASCII to Integer โดยรวมอยู่ในไฟล์ library header มาตรฐานของภาษาซี ต้นแบบมันเป็นดังนี้ :
 int atoi(const char *str);
STR อาร์กิวเมนต์เป็นสตริงแทนโดยอาร์เรย์ของตัวอักษรที่มีตัวอักษรของเลขจำนวนเต็มได้ลงนาม สตริงจะต้องเป็นโมฆะยกเลิก เมื่อ atoi พบสตริงที่มีลำดับตัวเลขไม่ก็ส่งกลับค่าศูนย์ (0)
มีหลายตัวแปรของฟังก์ชัน atoi, Atol, atof และเกาะซึ่งเป็นที่ใช้ในการแปลงสตริงเป็นยาวชนิดยาวคู่หรือยาวตามลำดับ เกาะปะการังที่เป็นที่รู้จักเดิมเป็น atoq และถูกรวมอยู่ใน C99
สารบัญ

atoi
qsort
bsearch
exit
random
แหล่งข้อมูลอื่น
C++ reference for codice_1
Encryption and Decryption

Encryption and Decryption เป็นซอฟต์แวร์ประเภทโอเพนซอร์ซ ใช้เข้ารหัสหรือถอดรหัสข้อความและไฟล์ ซึ่งจะมีประโยชน์เพื่อนำไปป้องกันการดักฟังข้อมูลของผู้ไม่ประสงค์ดี ถึงแม้ว่าจะโดนผู้ไม่ประสงค์ดีดักข้อมูลได้แต่ก็ไม่สามารถเข้าใจเนื้อหาของข้อความที่เข้ารหัสได้ตัวโปรแกรม Encryption and Decryption มีรูปแบบอินเตอร์เฟซที่ง่ายต่อการใช้งาน
ขั้นตอนวิธี
ขั้นตอนวิธี.
การเข้ารหัสข้อความต่างๆจะใช้ขั้นตอนวิธี AES 256-bit key โดยที่จะมี Key ซึ่งเป็นตัวที่ใช้ในการเข้ารหัสหรือถอดรหัสเพื่อความปลอดภัยระหว่างการส่งข้อความในที่สาธารณะ ถ้า Key มีขั้นตอนวิธีที่มีความซับซ้อน จะทำให้การถอดรหัสของผู้ที่ดักฟังข้อมูลเป็นไปได้ยากยิ่งขึ้น
วิธีการใช้โปรแกรม

การเข้ารหัสและการถอดรหัส


เลือกว่าจะทำการเข้ารหัส หรือ ถอดรหัส
พิมพ์ข้อความที่ต้องการเข้ารหัส หรือ ถอดรหัส
ช่องสำหรับ ข้อความที่เข้ารหัส หรือ ถอดรหัสแล้ว
Clear Field
หลังจากที่เลือกว่าการเข้ารหัส จะมีช่องให้พิมพ์ key ที่จะใช้ในการเข้ารหัส แล้วกด Ok จะทำให้เข้ารหัส
หลังจากที่เข้ารหัสก็จะได้ ข้อความที่เข้ารหัสมา
อ้างอิง


Encryption and Decryption
กฎหมายการค้าระหว่างประเทศ

(international trade) เป็นการซื้อขายแลกเปลี่ยนสินค้า (goods) หรือบริการ (service) ระหว่างบุคคลซึ่งอยู่กันคนละประเทศ เป็นกิจกรรมที่สำคัญต่อเศรษฐกิจของประเทศอย่างยิ่ง เพราะปริมาณการนำเข้าหรือส่งออกซึ่งสินค้าของประเทศหนึ่งบ่งบอกถึงความมั่นคงและมั่งคั่งทางเศรษฐกิจของประเทศนั้นได้พอสมควร ประเทศที่พัฒนาแล้วจึงสนใจการค้าระหว่างประเทศ รวมถึงตรากฎหมายควบคุมการค้าระหว่างประเทศ และประสานความร่วมมือกันในระดับสากลโดยมีกฎหมายระหว่างประเทศเป็นเครื่องมือเพื่อประโยชน์ของการค้าเหล่านั้นด้วย
สำหรับประเทศไทย แม้มีบทบาททางการค้าระหว่างประเทศมาช้านานซึ่งนับย้อนไปได้ถึงโบราณกาล เช่น ในรัชกาลพ่อขุนรามคำแหงมีค้ากับต่างประเทศทางสำเภา และในรัชกาลสมเด็จพระนารายณ์มีการขุดคอคอดกระเพื่อเชื่อมอ่าวไทยกับทะเลอันดามันให้เกิดความสะดวกในการขนส่งสินค้าทางทะเล แต่การศึกษาเล่าเรียนกฎหมายเกี่ยวกับการค้าระหว่างประเทศเพิ่งบุกเบิกได้ไม่นาน และในวงการศาลก็เพิ่งจัดตั้งศาลชำนาญพิเศษทางการค้าระหว่างประเทศขึ้นเมื่อปี 2539 คือ ศาลทรัพย์สินทางปัญญาและการค้าระหว่างประเทศ เป็นเหตุให้นักกฎหมายซึ่งชำนิชำนาญทางการค้าระหว่างประเทศเห็นว่า ขณะนี้ ความรู้ความเข้าใจเกี่ยวกับกฎหมายการค้าระหว่างประเทศในประเทศไทยยังมีน้อยและไม่ลงรอยกันเสมือนในต่างประเทศ จำต้องวางรากฐานอีกยาวไกล
ตำรานี้มุ่งให้ความรู้เกี่ยวกับการค้าระหว่างประเทศในแง่กฎหมาย ทั้งที่เป็นกฎหมายภายในและกฎหมายระหว่างประเทศ และเพื่อประโยชน์ในการศึกษากฎหมายการค้าระหว่างประเทศ ตำรานี้จึงแบ่งเนื้อหาดังนี้
 ภาคที่ 1 ภาคทั่วไป: ว่าด้วยลักษณะของการค้าระหว่างประเทศ กฎหมายการค้าระหว่างประเทศ และสัญญาหลักทางการค้าระหว่างประเทศ
 ภาคที่ 2 ซื้อขายระหว่างประเทศ
 ภาคที่ 3 รับขนของทางทะเล
 ภาคที่ 4 ประกันภัยทางทะเล
 ภาคที่ 5 เลตเตอร์ออฟเครดิต
คำแปลกฎหมายต่างประเทศและกฎหมายระหว่างประเทศที่ปรากฏในตำรานี้เป็นคำแปลของวิกิตำรา มิใช่คำแปลอย่างเป็นทางการ อนึ่ง เพื่อประโยชน์ในการศึกษา ตำรานี้ได้แทรก ฎ. บางฉบับไว้ด้วย แต่พึงทราบว่า ในระบบซีวิลลอว์ (civil law) ซึ่งเป็นระบบกฎหมายที่ใช้ในประเทศไทยนั้น คำพิพากษาไม่เป็นกฎหมาย เป็นเพียงการปรับใช้กฎหมายเป็นรายกรณีไปเท่านั้น
ภาคผนวก

รายการกฎหมายที่เกี่ยวข้อง
รายการอ้างอิง
เชิงอรรถ
International Trade Law

REDIRECTกฎหมายการค้าระหว่างประเทศ
การค้าระหว่างประเทศ

REDIRECTกฎหมายการค้าระหว่างประเทศ
International trade

REDIRECTกฎหมายการค้าระหว่างประเทศ
กฎหมายการค้าระหว่างประเทศ/ภาคที่ 2

(contract for international sale of goods) เป็นสัญญารูปแบบหลักทางการค้าระดับระหว่างประเทศ เพราะการค้าระหว่างประเทศมักเริ่มจากการซื้อขาย เมื่อซื้อขายแล้วจึงนำไปสู่กิจกรรมอย่างอื่นต่อไป เช่น ขนส่ง ประกันภัย และชำระราคา
เนื่องจากในการซื้อขายระหว่างประเทศ คู่สัญญาอยู่คนละประเทศกัน อาจมีสัญชาติต่างกัน หรือต้องส่งสินค้าหรือบริการข้ามแดนกัน เป็นเหตุให้สัญญาซื้อขายอยู่ในบังคับแห่งกฎหมายของหลายท้องที่ซึ่งอาจลงรอยหรือขัดแย้งกันก็ได้ ต้องอาศัยหลักเรื่องการขัดกันแห่งกฎหมายมาชี้ขาดว่า จะนำกฎหมายใดมาใช้บังคับ กระนั้น แม้ได้คำตอบนี้แล้วก็ยังคงเกิดปัญหาอยู่ เพราะมีหลายครั้งที่คู่สัญญาปราศจากความรู้ความเข้าใจเกี่ยวกับกฎหมายที่จะต้องใช้บังคับ ส่งผลให้กิจกรรมทางเศรษฐกิจเป็นไปอย่างลักลั่น ติดขัด หรือล่าช้าเกินสมควร
วงการระหว่างประเทศจึงสร้างและพยายามพัฒนากฎหมายกลางซึ่งเรียก "กฎหมายเอกรูป" (uniform law) เพื่อแก้ไขความขัดข้องข้างต้นเสมอมา กฎหมายเอกรูปอันเกี่ยวกับการซื้อขายระหว่างประเทศในปัจจุบัน คือ อนุสัญญากรุงเวียนนา (Vienna Convention) นอกจากนี้ ยังมีข้อตกลงล่วงหน้าซึ่งเป็นที่นิยมใช้ในการซื้อขายระหว่างประเทศเช่นกัน คือ อินโคเทอมส์ (Incoterms)
ในภาคนี้ จะได้ศึกษาเกี่ยวกับตัว อ.เวียนนา และอินโคเทอมส์เอง รวมถึงหลักเกณฑ์แห่งกฎหมายและข้อตกลงดังกล่าว และเพื่อประโยชน์แห่งการศึกษา ภาคนี้จึงแบ่งเนื้อหาดังนี้
 บทที่ 1 ว่าด้วย อ.เวียนนา
 บทที่ 2 ว่าด้วยอินโคเทอมส์
เชิงอรรถ
กฎหมายการค้าระหว่างประเทศ/ภาคที่ 2/บทที่ 1

(United Nations Convention on Contracts for the International Sale of Goods) ย่อว่า ซีไอจีเอส (CISG) หรือมักเรียกกันว่า อนุสัญญากรุงเวียนนา (Vienna Convention) เป็นความตกลงระหว่างประเทศซึ่งใช้บังคับตั้งแต่วันที่ 1 มกราคม พ.ศ. 2531 (ค.ศ. 1988) เพื่อประชุมกฎหมายเกี่ยวกับการซื้อขายระหว่างประเทศให้เป็นหนึ่งเดียว
ในบทนี้ จะเริ่มศึกษาเกี่ยวกับความเป็นมาของอนุสัญญา วัตถุประสงค์ และขอบเขตการใช้บังคับซึ่งอนุสัญญาก่อน ครั้นแล้ว จึงจะได้ศึกษาเกี่ยวกับเนื้อหาของอนุสัญญา เพราะฉะนั้น บทนี้จึงแบ่งส่วนดังนี้
 ส่วนที่ 1 ว่าด้วยความเป็นมาของ อ.เวียนนา และขอบเขตการใช้ อ.เวียนนา บังคับ
 ส่วนที่ 2 ว่าด้วยการก่อสัญญาซื้อขายตาม อ.เวียนนา
 ส่วนที่ 3 ว่าด้วยนิติสัมพันธ์ของคู่สัญญาซื้อขายตาม อ.เวียนนา
การคูณและการหารเลขฐาน

การคูณและการหารเลขฐาน
1. การคูณ
1. การคูณ.
1.1 การคูณเลขฐานสอง
ระบบเลขฐานสองมีตัวเลขเพียงสองตัวคือ 0 กับ 1
การคูณในระบบเลขฐานสอง เราสามารถกระทำได้ในลักษณะเช่นเดียวกับการคูณเลขฐานสิบ
ซึ่งก็คือ ทำการตั้งหลักของการคูณให้ตรงกัน โดยเริ่มจากบิท หรือหลักตัวเลขทางขวามือสุดก่อน
เมื่อได้ทำการคูณ ตัวตั้งด้วยตัวคูณทุกตำแหน่งแล้ว ก็ให้ทำการบวกโดยใช้กฎการบวกเลขฐานสองตามปกติทุกประการ
การคูณจึงมีหลักเกณฑ์ดังนี้
1 × 1 = 1
1 × 0 = 0
0 × 1 = 0
0 × 0 = 0
ดังตัวอย่างต่อไปนี้
1.2 การคูณเลขฐานแปด
ระบบเลขฐานแปดมีตัวเลขที่ใช้เพียงแปดตัวคือ 0 1 2 3 4 5 6 และ 7
การคูณในระบบเลขฐานแปด เราสามารถกระทำได้ในลักษณะเช่นเดียวกับการคูณเลขฐานสิบ
ซึ่งก็คือ ทำการตั้งหลักของการคูณให้ตรงกัน โดยเริ่มจากบิท หรือหลักตัวเลขทางขวามือสุดก่อน
แต่การคูณเลขฐานแปดนั้นมีหลักเกณฑ์สำคัญ คือ ถ้าผลลัพธ์ของการคูณเลขแต่ละบิทมีค่าเกิน 7
ให้นำ 8 ไปหารค่านั้น โดยนำผลลัพธ์ของการหารไปเป็นตัวทดในบิทถัดไป
และเศษของการหารใส่เป็นผลลัพธ์ในหลักที่ทำการคูณกันนั้น เมื่อได้ทำการคูณตัวตั้งด้วยตัวคูณทุกตำแหน่งแล้ว
ก็ให้ทำการบวกโดยใช้กฎการบวกเลขฐานแปดตามปกติทุกประการ
เพื่อความเข้าใจมากยิ่งขึ้นศึกษาจากตัวอย่างดังต่อไปนี้
1.3 การคูณเลขฐานสิบหก
ระบบเลขฐานสิบหกมีตัวเลขที่ใช้ 16 ตัวคือ 0 1 2 3 4 5 6 7 8 9 A B C D E และ F
การคูณในระบบเลขฐานสิบหก เราสามารถกระทำได้ในลักษณะเช่นเดียวกับการคูณเลขฐานสิบ
ซึ่งก็คือ ทำการตั้งหลักของการคูณให้ตรงกัน โดยเริ่มจากบิท หรือหลักตัวเลขทางขวามือสุดก่อน
แต่การคูณเลขฐานสิบหกนั้นมีหลักเกณฑ์สำคัญ คือ ถ้าผลลัพธ์ของการคูณเลขแต่ละบิทเมื่อคูณกันแล้วมีค่าเกิน 15 หรือค่า F
ให้นำ 16 ไปหารค่านั้น โดยนำผลลัพธ์ของการหารไปเป็นตัวทดในบิทถัดไป
และเศษของการหารใส่เป็นผลลัพธ์ในหลักที่ทำการคูณกันนั้น เมื่อได้ทำการคูณตัวตั้งด้วยตัวคูณทุกตำแหน่งแล้ว
ก็ให้ทำการบวกโดยใช้กฎการบวกเลขฐานสิบหกตามปกติทุกประการ
เพื่อความเข้าใจมากยิ่งขึ้นศึกษาจากตัวอย่างดังต่อไปนี้
2. การหาร
2. การหาร.
2.1 การหารเลขฐานสอง
การหารในระบบเลขฐานสอง ก็จะทำเช่นเดียวกันกับการหารเลขฐานสิบ โดยใช้วิธีการหารแบบตั้งหารยาว
เกณฑ์การหารเลขฐานสองสามารถสรุปได้ดังต่อไปนี้
0 / 1 = 0
1 / 1 = 1
ดังตัวอย่างต่อไปนี้
2.2 การหารเลขฐานแปด
การหารเลขฐานแปดก็มีวิธีเช่นเดียวกับการหารเลขฐานสิบ คือมีหลักการคูณด้วย และทำโดยใช้วิธีตั้งหารยาว
เพื่อความเข้าใจมากยิ่งขึ้นศึกษาจากตัวอย่างดังต่อไปนี้
2.3 การหารเลขฐานสิบหก
การหารเลขฐานสิบหกก็มีวิธีเช่นเดียวกับการหารเลขฐานสิบ คือมีหลักการคูณด้วย และทำโดยใช้วิธีตั้งหารยาว
เพื่อความเข้าใจมากยิ่งขึ้นศึกษาจากตัวอย่างดังต่อไปนี้
ดูเพิ่ม