string[] files = Directory.GetFiles(Environment.CurrentDirectory, "*.docx"); foreach (var file in files) { System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(file); info.Arguments = "\"" + printDialog1.PrinterSettings.PrinterName + "\""; info.CreateNoWindow = true; info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; info.UseShellExecute = true; info.Verb = "PrintTo"; System.Diagnostics.Process.Start(info); }
Thứ Sáu, 7 tháng 3, 2014
Gửi 1 file word qua máy in để in sử dụng c#
Thứ Sáu, 14 tháng 2, 2014
Thứ Tư, 12 tháng 2, 2014
Fix: The version of SQL Server in use does not support datatype 'datetime2'
Thứ Tư, 27 tháng 2, 2013
So khớp với ký tự bất kỳ và tính luôn cả ký tự xuống dòng \n trong Regex C#
Sử dụng RegexOptions.Singleline
Mình muốn lấy giá trị nằm trong 2 đoạn <tag> và </tag>
string value = Regex.Match("<tag>av</tag>", @"<tag>(.*?)</tag>").Groups[1].Value;
Kết quả: value = 'av'
Đoạn code trên sẽ chạy ok nếu giá trị nằm trong <tag> và </tag> không có ký tự \n. Vì (.*?) chỉ khớp với các ký tự bất kỳ trừ ký tự \n.
string value = Regex.Match("<tag>av\n</tag>", @"<tag>(.*?)</tag>").Groups[1].Value;
Kết quả : value =''
Sử dụng option: RegexOptions.Singleline sẽ làm cách dùng ký tự dot (.) tính luôn cả giá trị \n.
Specifies single-line mode. Changes the meaning of the dot (.) so it matches every character (instead of every character except \n).
string value = Regex.Match("<tag>av\n</tag>", @"<tag>(.*?)</tag>", RegexOptions.Singleline).Groups[1].Value;
Kết quả: value= 'av\n'
Mình muốn lấy giá trị nằm trong 2 đoạn <tag> và </tag>
string value = Regex.Match("<tag>av</tag>", @"<tag>(.*?)</tag>").Groups[1].Value;
Kết quả: value = 'av'
Đoạn code trên sẽ chạy ok nếu giá trị nằm trong <tag> và </tag> không có ký tự \n. Vì (.*?) chỉ khớp với các ký tự bất kỳ trừ ký tự \n.
string value = Regex.Match("<tag>av\n</tag>", @"<tag>(.*?)</tag>").Groups[1].Value;
Kết quả : value =''
Sử dụng option: RegexOptions.Singleline sẽ làm cách dùng ký tự dot (.) tính luôn cả giá trị \n.
Specifies single-line mode. Changes the meaning of the dot (.) so it matches every character (instead of every character except \n).
string value = Regex.Match("<tag>av\n</tag>", @"<tag>(.*?)</tag>", RegexOptions.Singleline).Groups[1].Value;
Kết quả: value= 'av\n'
Thứ Sáu, 1 tháng 2, 2013
Các ký tự dùng trong Regex
Các ký tự dùng trong Regex:
. : đại diện cho 1 ký tự bất kỳ trừ ký tự xuống dòng \n.
\d : ký tự chữ số tương đương [0-9]
\D : ký tự ko phải chữ số
\s : ký tự khoảng trắng tương đương [ \f\n\r\t\v]
\S : ký tự không phải khoảng trắng tương đương [ ^\f\n\r\t\v]
\w : ký tự word (gồm chữ cái và chữ số, dấu gạch dưới _ ) tương đương [a-zA-Z_0-9]
\W : ký tự không phải ký tự word tương đương [^a-zA-Z_0-9]
^ : bắt đầu 1 chuỗi hay 1 dòng
$ : kết thúc 1 chuỗi hay 1 dòng
\A : bắt đầu 1 chuỗi
\z : kết thúc 1 chuỗi
| : ký tự ngăn cách so trùng tương đương với phép or (lưu ý cái này nếu muốn kết hợp nhiều điều kiện)
[abc] : khớp với 1 ký tự nằm trong nhóm là a hay b hay c.
[a-z] so trùng với 1 ký tự nằm trong phạm vi a-z, dùng dấu - làm dấu ngăn cách.
[^abc] sẽ không so trùng với 1 ký tự nằm trong nhóm, ví dụ không so trùng với a hay b hay c.
() : Xác định 1 group (biểu thức con) xem như nó là một yếu tố đơn lẻ trong pattern .ví dụ ((a(b))c) sẽ khớp với b, ab, abc.
? : khớp với đứng trước từ 0 hay 1 lần. Ví dụ A?B sẽ khớp với B hay AB.
* : khớp với đứng trước từ 0 lần trở lên . A*B khớp với B, AB, AAB
+ : khớp với đứng trước từ 1 lần trở lên. A+B khớp với AB, AAB.
{n} : n là con số, Khớp đúng với n ký tự đúng trước nó . Ví dụ A{2}) khớp đúng với 2 chữ A.
{n, } : khớp đúng với n ký tự trở lên đứng trước nó , A{2,} khớp vói AA, AAA ...
{m,n} : khớp đùng với từ m->n ký tự đứng trước nó, A{2,4} khớp vói AA,AAA,AAAA.
. : đại diện cho 1 ký tự bất kỳ trừ ký tự xuống dòng \n.
\d : ký tự chữ số tương đương [0-9]
\D : ký tự ko phải chữ số
\s : ký tự khoảng trắng tương đương [ \f\n\r\t\v]
\S : ký tự không phải khoảng trắng tương đương [ ^\f\n\r\t\v]
\w : ký tự word (gồm chữ cái và chữ số, dấu gạch dưới _ ) tương đương [a-zA-Z_0-9]
\W : ký tự không phải ký tự word tương đương [^a-zA-Z_0-9]
^ : bắt đầu 1 chuỗi hay 1 dòng
$ : kết thúc 1 chuỗi hay 1 dòng
\A : bắt đầu 1 chuỗi
\z : kết thúc 1 chuỗi
| : ký tự ngăn cách so trùng tương đương với phép or (lưu ý cái này nếu muốn kết hợp nhiều điều kiện)
[abc] : khớp với 1 ký tự nằm trong nhóm là a hay b hay c.
[a-z] so trùng với 1 ký tự nằm trong phạm vi a-z, dùng dấu - làm dấu ngăn cách.
[^abc] sẽ không so trùng với 1 ký tự nằm trong nhóm, ví dụ không so trùng với a hay b hay c.
() : Xác định 1 group (biểu thức con) xem như nó là một yếu tố đơn lẻ trong pattern .ví dụ ((a(b))c) sẽ khớp với b, ab, abc.
? : khớp với đứng trước từ 0 hay 1 lần. Ví dụ A?B sẽ khớp với B hay AB.
* : khớp với đứng trước từ 0 lần trở lên . A*B khớp với B, AB, AAB
+ : khớp với đứng trước từ 1 lần trở lên. A+B khớp với AB, AAB.
{n} : n là con số, Khớp đúng với n ký tự đúng trước nó . Ví dụ A{2}) khớp đúng với 2 chữ A.
{n, } : khớp đúng với n ký tự trở lên đứng trước nó , A{2,} khớp vói AA, AAA ...
{m,n} : khớp đùng với từ m->n ký tự đứng trước nó, A{2,4} khớp vói AA,AAA,AAAA.
Thứ Tư, 9 tháng 1, 2013
Tạo Unique Index có điều kiện (where ) trong MS SQL Server
Sử dụng bằng lệnh:
Sử dụng chế độ Design: Tạo index bình thường, phần Filter điền điều kiện filter vào:
- CREATE UNIQUE INDEX RecordNotDuplicate ON dbo.tblRecord(DomainID,RecordType,RecordName)
- WHERE (RecordType != 3) and RecordStatus =1
- CREATE UNIQUE INDEX MXRecordNotDuplicate ON dbo.tblRecord(DomainID,RecordType,RecordName,Priority)
- WHERE RecordType = 3 and RecordStatus =1
Thứ Năm, 3 tháng 1, 2013
Xem thông tin danh sách dns server của 1 tên miền ( Check name server domain)
Để xem thông tin danh sách dns server của 1 tên miền:
Run ->cmd:
nslookup -type=ns hanhtranglaptrinh.com
Run ->cmd:
nslookup -type=ns hanhtranglaptrinh.com
Đăng ký:
Bài đăng
(
Atom
)
