Thứ Sáu, 30 tháng 5, 2014

Đây là 1 cách tạo bìa facebook theo phong cách ảnh xếp ngẫu nhiên
Ảnh bìa Facebook phong cách ảnh xếp ngẫu nhiên

DEMO: Trang cá nhân

File PSD gốc: DownLoad (tham khảo bên VietDesigner, đã edit)

Các bạn down về, edit ảnh, text hoặc một vài thứ khác tùy ý.

Hướng dẫn cho những ai không edit được:

Edit ảnh

Chọn layer Don't touch this. Vào File > Place > Chọn ảnh > OK
Ảnh bìa Facebook phong cách ảnh xếp ngẫu nhiên

Click chuột phải vào layer ảnh vừa thêm, chọn Create Clipping Mask.
Ảnh bìa Facebook phong cách ảnh xếp ngẫu nhiên

Và kết quả
Ảnh bìa Facebook phong cách ảnh xếp ngẫu nhiên

Edit text

Vào group Main Text để tắt chữ mặc định và chèn chữ của bạn vào.

Tạo phần gạch chéo cho ảnh bìa

Gộp tất cả các layer lại thành 1: Trỏ chuột vào Group Some Adjustments ấn tổ hợp Ctrl + Shift + Alt + E
Copy style của Layer Final và Paste vào layer vừa gộp.

Enjoy!

Chúc bạn thành công!!!

Chủ Nhật, 18 tháng 5, 2014

Cuối tuần rảnh rỗi, dở hợp ngữ ra học, sau một hồi mày mò, nghịch nghịch viết được mấy chương trình chia sẻ cho mọi người:
[ASSEMBLY] Chia sẻ code một số bài toán



Máy tính đơn giản


Chương trình thực hiện các phép tính đơn giản như cộng trừ nhân chia. Phạm vi số: 16bit, số nguyên dương:
; ScanNum luu trong BX
ScanNum MACRO
LOCAL Nhap, KetThuc
PUSH AX
MOV BX, 0
Nhap:
MOV AH, 1
INT 21h
CMP AL, 13
JE KetThuc
PUSH AX
MOV AX, BX
MUL ten
MOV BX, AX
POP AX
AND AL, 0fh
ADD BL, AL
JMP Nhap
KetThuc:
POP AX
ENDM
; Macro in text
PrintText MACRO n
PUSH AX
PUSH DX
MOV DL, n
OR DL, 30h ; Chuyen so thanh ma ASCII tuong ung
MOV AH, 2
INT 21h
POP DX
POP AX
ENDM

; Chuogn tring chinh
.MODEL SMALL
ORG 100H
.DATA
MSG1 DB " My calculators", 0Ah, 0Dh, "$"
MSG2 DB "Input a: $"
MSG3 DB 0Ah, 0Dh, "Operator: (+, -, *, /): $"
MSG4 DB 0Ah, 0Dh, "Input b: $"
MSG5 DB 0Ah, 0Dh, "Result: $"
num1 DW ?
num2 DW ?
oper DB ?
ten DW 10
.CODE
MOV AX, @DATA
MOV DS, AX

MOV AH, 9
LEA DX, MSG1
INT 21h
LEA DX, MSG2
INT 21h
; Nhap so 1
ScanNum
MOV num1, BX
; Print label
MOV AH, 9
LEA DX, MSG3
INT 21h
; Nhap phep tinh
MOV AH, 1
INT 21h
MOV oper, AL
; Print label
MOV AH, 9
LEA DX, MSG4
INT 21h
; Nhap so 2
ScanNum
MOV num2, BX

CMP oper, '+'
JE PhepCong

CMP oper, '-'
JE PhepTru

CMP oper, '*'
JE PhepNhan

JMP PhepChia

PhepCong:
MOV AX, num1
MOV BX, num2
ADD AX, BX
JMP Exit
PhepTru:
MOV AX, num1
MOV BX, num2
SUB AX, BX
JMP Exit
PhepNhan:
MOV DX, 0
MOV AX, num1
MOV BX, num2
MUL BX ; AX = AL * BL
JMP Exit
PhepChia:
MOV DX, 0
MOV AX, num1
MOV BX, num2
DIV BX ; AX = AL / BL
Exit:
; Print Label
PUSH AX
MOV AH, 9
LEA DX, MSG5
INT 21h
POP AX
; Print res

MOV CX, 1 ; Co danh dau
MOV BX, 10000
Begin_Print:
CMP BX, 0
JE End_Print ; BX = 0

CMP CX, 0
JE Calc ; CX = 0

CMP AX, BX
JB Skip ; AX < BX
Calc:
MOV CX, 0
MOV DX, 0
DIV BX ; AX = DX AX / BX
PrintText AL ; In AL nhu 1 ky tu binh thuong
MOV AX, DX

Skip: ; Giam BX 10 lan
PUSH AX
MOV DX, 0
MOV AX, BX
DIV ten
MOV BX, AX
POP AX
JMP Begin_Print

End_Print:
RET



Tìm ước chung lớn nhất của 2 số


Nhập vào 2 số 16bit rồi in ra UCLN của chúng:
; MACRO
; MACRO khong lam thay doi gia tri cua bien vao, chi thay doi gia tri thanh ghi
Nhan MACRO reg, num
LOCAL next, continue, exit
PUSH AX
PUSH DX
PUSH CX

MOV AX, reg
MOV CX, num
XOR DX, DX
next:
CMP CX, 0
JE exit
TEST CX, 1b ; Ky tu cuoi cua AL = 1=> ZF = 0
JZ continue ; ZF = 1
ADD DX, AX
continue:
SHL AX, 1
SHR CX, 1
JMP next
exit:
MOV reg, DX

POP CX
POP DX
POP AX
ENDM

; Nhap so, luu vao AX
ScanNum MACRO
local Nhap, exit
PUSH BX
MOV AH, 1
XOR BX, BX ; Tuong duong mov bx, 0
Nhap:
INT 21h
CMP AL, 13
JE exit
AND AL, 0Fh
Nhan BX, 10
ADD BL, AL
JMP Nhap
exit:
MOV AX, BX
POP BX
ENDM

; In 1 so bat ky o AX
PrintNums MACRO
LOCAL next, exit, print
PUSH BX ; Cat cac gia tri vao stack
PUSH CX
PUSH DX

MOV BX, 10 ; So chia
XOR CX, CX ; MOV CX, 0
next:
CMP AX, 0
JE exit ; Neu AX = 0 thi dung lai
XOR DX, DX ; MOV DX, 0
DIV BX
PUSH DX ; DX la so du cua phep chia
INC CX ; Tang CX
JMP next ; Lap lai
exit:
MOV AH, 2

print:
XOR DL, DL ; MOV DL, 0
POP DX
OR DL, 30h ; Chuyen so thanh ma ASCII tuong ung
INT 21h
LOOP print ; Lap den khi nao CX = 0

POP DX
POP CX
POP BX
ENDM

; In so co 1 chu so
PrintNum MACRO reg
PUSH AX
PUSH DX
MOV DL, reg
MOV AH, 2
OR DL, 30h
INT 21h
POP DX
POP AX
ENDM

; Tim uoc chung lon nhat, xuat ket qua vao DX
UCLN MACRO m, n
PUSH AX
PUSH BX

MOV AX, m
MOV BX, n
next:
CMP AX, BX
JE exit
JB less
SUB AX, BX
JMP next
less:
SUB BX, AX
JMP next
exit:
MOV DX, AX

POP BX
POP AX
ENDM

; Chuong trinh chinh
.MODEL small
ORG 100h
.DATA
Enter DB 0Dh, 0Ah, '$'
num1 DW ?
num2 DW ?
.CODE
MOV AX, seg Enter
MOV DS, AX

ScanNum ; Xuat ra AL
MOV num1, AX

PUSH AX
MOV AH, 9
LEA DX, Enter
INT 21h
POP AX

ScanNum
MOV num2, AX


PUSH AX
MOV AH, 9
LEA DX, Enter
INT 21h
POP AX

XOR DX, DX
UCLN num1, num2
MOV AX, DX
PrintNums

Chương trình in ra n số hạng đầu tiên trong dãy Fibonacy


Nhập vào 1 số n (từ 1~22) rồi in ra n số hạng đầu tiên trong dãy Fibonacy
; MACRO
; MACRO khong lam thay doi gia tri cua bien vao, chi thay doi gia tri thanh ghi
Nhan MACRO reg, num
LOCAL next, continue, exit
PUSH AX
PUSH DX
PUSH CX

MOV AX, reg
MOV CX, num
XOR DX, DX
next:
CMP CX, 0
JE exit
TEST CX, 1b ; Ky tu cuoi cua AL = 1=> ZF = 0
JZ continue ; ZF = 1
ADD DX, AX
continue:
SHL AX, 1
SHR CX, 1
JMP next
exit:
MOV reg, DX

POP CX
POP DX
POP AX
ENDM

; Nhap so, luu vao AX
ScanNum MACRO
local Nhap, exit
PUSH BX
MOV AH, 1
XOR BX, BX ; Tuong duong mov bx, 0
Nhap:
INT 21h
CMP AL, 13
JE exit
AND AL, 0Fh
Nhan BX, 10
ADD BL, AL
JMP Nhap
exit:
MOV AX, BX
POP BX
ENDM

; In 1 so bat ky o AX
PrintNums MACRO
LOCAL next, exit, print
PUSH BX ; Cat cac gia tri vao stack
PUSH CX
PUSH DX

MOV BX, 10 ; So chia
XOR CX, CX ; MOV CX, 0
next:
CMP AX, 0
JE exit ; Neu AX = 0 thi dung lai
XOR DX, DX ; MOV DX, 0
DIV BX
PUSH DX ; DX la so du cua phep chia
INC CX ; Tang CX
JMP next ; Lap lai
exit:
MOV AH, 2

print:
XOR DL, DL ; MOV DL, 0
POP DX
OR DL, 30h ; Chuyen so thanh ma ASCII tuong ung
INT 21h
LOOP print ; Lap den khi nao CX = 0

POP DX
POP CX
POP BX
ENDM

.MODEL SMALL
ORG 100h
.DATA
count DB ?
Enter DB 0Ah, 0Dh, '?'
ten DW 10
.CODE
ScanNum
MOV count, AL

XOR DX, DX

; In dau Enter
MOV AH, 2
MOV DL, 0Ah
INT 21h
MOV DL, 0Dh
INT 21h

CMP count, 1
JE in1
CMP count, 2
JE in11

OR BX, 1
PUSH BX
PUSH BX
; In ra '1 1'
MOV DL, '1'
INT 21h
MOV DL, ' '
INT 21h
MOV DL, '1'
INT 21h

SUB count, 2
; Dung stack de luu mang cac so Fibonacy
next:
MOV AH, 2
MOV DL, ' '
INT 21h
MOV BP, SP
MOV BX, [BP]
ADD BX, [BP+2]
PUSH BX
MOV AX, BX
PrintNums

PUSH AX
MOV AL, count
DEC AL
CMP AL, 0
JE exit
MOV count, AL
POP AX
JMP next

JMP exit
; In so Fibonacy
in1:
MOV DL, '1'
INT 21h
JMP exit
; In 2 so dau trong day
in11:
MOV DL, '1'
INT 21h
MOV DL, ' '
INT 21h
MOV DL, '1'
INT 21h
exit:


Thứ Bảy, 17 tháng 5, 2014

Trong lập trình hợp ngữ, nhiều lúc bạn muốn thực hiện phép nhân hoặc chia nhưng kết quả lại lưu ở trong thanh ghi AX, và bạn lúng túng không biết in chúng ra như thế nào?! Trong bài này tôi sẽ hướng dẫn các bạn 2 cách đơn giản để in ra 1 số bất kỳ (số nguyên dương, 16bit) trong AX.
[ASSEMBLY] In một số nguyên dương bất kỳ


Với cùng 1 tư tưởng đó là: chia số muốn in thành các chữ số riêng biệt, rồi in từng chữ số đó như 1 ký tự bình thường

Nhắc lại: lệnh DIV 
Cú pháp DIV reg   ; AX = AX / reg => kết quả phép chia nguyên lưu vào AX, số dư lưu vào DL

Cách 1: Duyệt các chữ số từ hàng đơn vị, lưu chúng vào Stack rồi in ngược lại

Với cách này chúng ta chia số muốn in thành các chữ số, thực hiện từ chữ số hàng đơn vị cho đến các chữ số có trọng số cao hơn. Để thực hiện ta tiến hành dùng lệnh DIV để lấy ra số dư phép chia AX cho 10 - chính là chữ số hàng đơn vị của AX. Chữ số này sẽ được cất trong Stack, trở thành đáy Stack (trong phạm vi của thủ tục này), quá trình này lặp lại đến khi AX bằng 0, chữ số có trọng số cao nhất sẽ là đỉnh stack, sẽ được in ra đầu tiên.
Dùng biến CX để đếm số ký tự trong số, phục vụ cho việc lặp in.
[ASSEMBLY] In một số nguyên dương bất kỳ

Để in ra, ta lần lượt lấy các giá trị trong Stack  rồi in chúng như những ký tự bình thường. Việc in sẽ thực hiện từ chữ số có trọng số cao nhất đến chữ số có trọng số thấp nhất (hàng đơn vị). Số lần in sẽ do CX kiểm soát.

Code cụ thể như sau:
; In 1 so bat ky o AX
PrintNums MACRO
LOCAL next, exit, print
PUSH BX ; Cat cac gia tri vao stack
PUSH CX
PUSH DX

MOV BX, 10 ; So chia
XOR CX, CX ; MOV CX, 0
next:
CMP AX, 0
JE exit ; Neu AX = 0 thi dung lai
XOR DX, DX ; MOV DX, 0
DIV BX
PUSH DX ; DX la so du cua phep chia
INC CX ; Tang CX
JMP next ; Lap lai
exit:
MOV AH, 2

print:
XOR DL, DL ; MOV DL, 0
POP DX
OR DL, 30h ; Chuyen so thanh ma ASCII tuong ung
INT 21h
LOOP print ; Lap den khi nao CX = 0

POP DX
POP CX
POP BX
ENDM

Cách 2: Duyệt các chữ số từ hàng cao nhất đến hàng đơn vị, in trực tiếp (không dùng Stack)

Cũng dùng phép chia để phân tách số ban đầu thành các chữ só riêng biệt nhưng lần này lấy kết quả để in trực tiếp (không lấy in số dư như cách trên). Việc in sẽ tiến hành từ ký tự có trọng số cao nhất đến hàng đơn vị.
Trong mỗi bước ta chia AX cho BX = 10000, sau đó giảm BX xuống còn 1000, 100, 10, 1 (cũng dùng phép chia để giảm BX). 
Dùng CX để lưu trạng thái, tránh việc in những số 0 ở đầu kết quả.

Code cụ thể như sau:
Print PROC
MOV CX, 1 ; Co danh dau
MOV BX, 10000
Begin_Print:
CMP BX, 0
JE End_Print ; BX = 0

CMP CX, 0
JE Calc ; CX = 0

CMP AX, BX
JB Skip ; AX < BX
Calc:
MOV CX, 0
MOV DX, 0
DIV BX ; AX = DX AX / BX
PrintText AL ; In AL nhu 1 ky tu binh thuong
MOV AX, DX

Skip: ; Giam BX 10 lan
PUSH AX
MOV DX, 0
MOV AX, BX
DIV ten
MOV BX, AX
POP AX
JMP Begin_Print

End_Print:
Print ENDP

Phần PrintText
; Macro in text
PrintText MACRO n
PUSH AX
PUSH DX
MOV DL, n
OR DL, 30h ; Chuyen so thanh ma ASCII tuong ung
MOV AH, 2
INT 21h
POP DX
POP AX
ENDM


Chúc bạn thành công!!!

Thứ Sáu, 9 tháng 5, 2014

Trước đây khi thiết kế Style cho website bạn thường dùng cách nào để sinh ra mã màu phù hợp cho từng đối tượng? Dùng Dreamweaver, Photoshop hay là tự ước lượng màu (o_0)??? Chắc hẳn những công cụ, cách làm đấy rất phức tạp (nhất là khi đang code ở 1 trình không phải Dreamweaver, Notepad++ hay trình biên tập dành riêng cho thiết kế web khác)
Mình xin giới thiệu tới các bạn 2 công cụ rất hữu ích trong việc chọn mã màu phù hợp trong việc thiết kế CSS, hơn nữa hai công cụ này rất tiện lợi, bạn có thể sử dụng trực tiếp trên trang này mà không cần phải cài đặt hay thiết lập gì cả
Công cụ sinh mã màu tự động - Color Code Genarator

Thứ nhất, công cụ sinh mã màu này sẽ không còn là lạ lâm gì với những người quen sử dụng Photoshop, hay sử dụng Photoshop để sinh mã màu. Bạn chỉ cần kéo thành "Hue" rồi chọn màu phù hợp. Cách khác bạn có thể sửa mã màu trực tiếp trong các ô điều khiển ở dưới, màu tương ứng sẽ hiển thị ở trên. Bây giờ chỉ cần chọn màu tương tự thích hợp với ý đồ thiết kế.
Sau khi chọn xong màu để lấy mã màu chỉ cần Copy mã màu ở ô điều khiển phía dưới.

Thứ hai, công cụ này cũng có chức năng tương tự cái trên, bạn chọn 1 màu trong các màu mẫu có sẵn, hoặc điền mã màu vào ô >> chọn "Update". Công cụ sẽ hiển thị màu tương ứng với mã màu đã nhập vào cùng các màu cùng tông màu. Để lấy mã màu bạn cũng chỉ việc chọn và copy mã màu trong ô TextBox



Hy vọng nó sẽ hữu ích!!

Thứ Năm, 8 tháng 5, 2014

Trong nhiều trang web bạn thấy có phần bình luận của facebook??? Bạn hoàn toàn có thể thêm phần mở rộng đó vào website của mình.
 Thêm bình luận Facebook vào web - Sửa lỗi không hiển thị bình luận Blogger

I. Thêm bình luận Facebook

Để thêm bình luận ta add một phần mở rộng cảu facebook vào website. Cụ thể như sau:

Thêm đoạn code sau vào trước thẻ </head>
<script type='text/javascript'>
//<![CDATA[
var purl= location.href; // Lấy URL của trang
var fb_href = purl.substring(0,purl.indexOf(".html")+5); // Phần tùy chọn thêm của blogger
var fbcm ='<div class="fb-comments" data-href="'+fb_href+'" data-num-posts="5" data-width="540"></div>'; // Phần div hiển thị khung bình luận
//]]>
</script>

Lưu ý: Phần data-num-post (số bình luận hiển thị), data-width (độ rộng của thẻ div) bạn có thể thay đổi

Thêm đoạn sau vào trước thẻ </body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

Đặt đoạn code này vào vị trí mà bạn muốn hiển thị phần bình luận:
<script type='text/javascript'>
document.write(fbcm);
</script>

Bạn vào trang Plugin bình luận của Facebook để có thêm nhiều lựa chọn khác

II. Bình luận của Blogger

Ẩn bình luận Blogger

Phần bình luận (comment) của Blogger là phần mặc định được thêm vào trong blog. Đôi khi bạn muốn ẩn nó đi (do đã có bình luận của Facebook chẳng hạn), hãy làm như sau:

Trong phần Cài đặt Blog >> Bài đăng và nhận xét >> Chọn vị trí nhận xét là "Ẩn" >> Nhấn "Lưu cài đặt"
Thêm bình luận Facebook vào web - Sửa lỗi không hiển thị bình luận Blogger

Hiện, sửa lỗi không hiển thị bình luận Blogger

Khi bạn muốn dùng bình luận Blogger lại (dùng song song 2 bình luận hoặc bỏ bình luận Facebook...), hãy làm như sau, và chắc chắn làm theo từng bước nếu bị lỗi không hiển thị được phần bình luận trong bài đăng:

Trong phần Cài đặt Blog >> Bài đăng và nhận xét >> Chọn vị trí nhận xét là "Được nhúng" >> Nhấn "Lưu cài đặt"
Thêm bình luận Facebook vào web - Sửa lỗi không hiển thị bình luận Blogger

Trong từng bài đăng muốn cho hiển thị bình luận bạn phải cài đặt phần nhận xét của người đọc là "Cho phép"
Thêm bình luận Facebook vào web - Sửa lỗi không hiển thị bình luận Blogger

Nếu vẫn bị lỗi không hiển thị được bình luận thì bạn hãy xem lại phần code Blog, nó đã include phần comments hay thread_comments chưa... Nếu ít am hiểu về code Blogger thì bạn có thể cài lại mẫu cho trang blog của mình... (như thế sẽ hơi mất công sức sửa lại những phần khác)

Hy vọng sẽ giúp được các bạn!!!

Categories

Sample Text

Được tạo bởi Blogger.

Must Read

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Popular Posts

Video

Popular Posts

Our Facebook Page