Posts filed under '電~腦~'

拆解字串(二)–組字串”1,3,5,6,7,8,9″–>”1,3,5-9″

Add comment 五月 1st, 2008

Dim str As String = "1,3,5,6,7,8,9"
Dim strAry As String() = str.Split(",")
Dim tempStr As Integer

Dim flag As Boolean = False 

'利用廻圈把陣列裡的元素帶出來比對
For j = 0 To strAry.Length - 1
	'第一筆資料不用比,直接塞到要輸出的字串,及要比對的字串
	If j = 0 Then
		seq.Append(strAry(j).ToString)
		tempStr = CInt(strAry(j))
	End If

	'從跑第二次廻圈開始就要與前一個字比對是否為連續數字
	If j > 0 Then

		'前一個數字加一,陣列元素裡的數字若相同,則為連續數字
		If CInt(strAry(j).ToString) = tempStr + 1 Then
			'如果陣列元素已經是最後一個就不用繼續比直接塞回傳值
			 If j = strAry.Length - 1 Then
				If flag Then
					seq.Append("-" & strAry(j).ToString)
				Else
					seq.Append("," & strAry(j).ToString)
				End If
			Else

			'不是最後一個就繼續比,不塞回傳值
				flag = True
				tempStr = CInt(strAry(j).ToString)
			End If
		Else
		'前一個數字加一,陣列元素裡的數字若不相同,就要將前一個字和這個數字同塞回傳值
			If flag Then
				seq.Append("-" & tempStr & "," & strAry(j).ToString)
			Else
				seq.Append("," & strAry(j).ToString)
			End If

			'設定下一個要比對的數字為此陣列元素的字
			tempStr = CInt(strAry(j).ToString)
			flag = False
		End If
	End If
Next

javascript–左右補0

Add comment 三月 16th, 2008

//呼叫左邊補0函式
padLeft(字串,補0長度)
//呼叫右邊補0函式
padRight(字串,補0長度)

function padLeft(str,lenght){
  if(str.length >= lenght)
   return str;
  else
   return padLeft("0" +str,lenght);
 }
 function padRight(str,lenght){
  if(str.length >= lenght)
   return str;
  else
   return padRight(str+"0",lenght);
 }

亂數取號

Add comment 二月 29th, 2008

Dim R As Random = New Random
R.Next(取號下限, 取號上限,需大於或等於下限)

重組字串(一)–”a,c,d-h” –>”a,c,d,e,f,g,h”

Add comment 一月 23rd, 2008

主要是利用兩個廻圈和兩個陣列把要拆解的字慢慢拆出來,因為用的例子是用,所以有放了兩個字母的對照用的function。

Dim str As String = "a,c,d-h" Dim completeStr As StringBuilder = New StringBuilder  '利用","拆開成陣列, 如:"a","c","d-h" Dim strAry As String() = str.Split(",")  '利用迴圈重新把陣列裡的每個元素都跑一遍 For i As Integer = 0 To seqAry.Length - 1  	'將這些元素再利用"-"拆開成另一個陣列,如"1"-"5" 	Dim strAry2 As String() = strAry(i).Split("-")  	'判斷第二次拆開的陣列是不是連續的字母,如果是連續的陣列大小會超過 1 	If strAry2.Length > 1 Then  		'轉換字母變成數字,用來跑廻圈用 		Dim word1 As integer =TransABCToNum(seqAry2(0).tostring, "lower") 		Dim word2 As integer =TransABCToNum(seqAry2(1).tostring, "lower")  		'計算要跑的迴圈次數 		Dim time as integer = word2 -word1  		'利用第二個迴圈把連續的字母依續加進去 		For j As Integer = 0 To time 			'把數字轉換成字母 			Dim word As String =TransNumToABC(word1+j)  			If completeStr.ToString = "" Then 				completeStr.Append(word.tostring) 			Else 				completeStr.Append("," & word.tostring) 			End If  		Next  	Else 		If completeStr.ToString = "" Then 			completeStr.Append(strAry2(0).tostring) 		Else 			completeStr.Append("," & strAry2(0).tostring) 		End If  	End If Next

把英文字母轉換成數字

Private Function TransABCToNum(ByVal word As String) As Integer 	Dim returnNum As Integer  	Select Case word 		Case "a", "A" 			returnNum = 1 		Case "b", "B" 			returnNum = 2 		Case "c", "C" 			returnNum = 3 		Case "d", "D" 			returnNum = 4 		Case "e", "E" 			returnNum = 5 		Case "f", "F" 			returnNum = 6 		Case "g", "G" 			returnNum = 7 		Case "h", "H" 			returnNum = 8 		Case "i", "I" 			returnNum = 9 		Case "j", "J" 			returnNum = 10 		Case "k", "K" 			returnNum = 11 		Case "l", "L" 			returnNum = 12 		Case "m", "M" 			returnNum = 13 		Case "n", "N" 			returnNum = 14 		Case "o", "O" 			returnNum = 15 		Case "p", "P" 			returnNum = 16 		Case "q", "Q" 			returnNum = 17 		Case "r", "R" 			returnNum = 18 		Case "s", "S" 			returnNum = 19 		Case "t", "T" 			returnNum = 20 		Case "u", "U" 			returnNum = 21 		Case "v", "V" 			returnNum = 22 		Case "w", "W" 			returnNum = 23 		Case "x", "X" 			returnNum = 24 		Case "y", "Y" 			returnNum = 25 		Case "z", "Z" 			returnNum = 26 	End Select  	TransABCToNum = returnNum End Function

利用數字轉換成英文字母

Private Function TransNumToABC(ByVal Num As Integer, ByVal type As String) As String 	Dim returnABC As String  	Select Case Num 		Case 1 			returnABC = "a" 		Case 2 			returnABC = "b" 		Case 3 			returnABC = "c" 		Case 4 			returnABC = "d", 		Case 5 			returnABC = "e" 		Case 6 			returnABC = "f" 		Case 7 			returnABC = "g" 		Case 8 			returnABC = "h" 		Case 9 			returnABC = "i" 		Case 10 			returnABC = "j" 		Case 11 			returnABC = "k" 		Case 12 			returnABC = "l" 		Case 13 			returnABC = "m" 		Case 14 			returnABC = "n" 		Case 15 			returnABC = "o" 		Case 16 			returnABC = "p" 		Case 17 			returnABC = "q" 		Case 18 			returnABC = "r" 		Case 19 			returnABC = "s" 		Case 20 			returnABC = "t" 		Case 21 			returnABC = "u" 		Case 22 			returnABC = "v" 		Case 23 			returnABC = "w" 		Case 24 			returnABC = "x" 		Case 25 			returnABC = "y" 		Case 26 			returnABC = "z" 	End Select  	If type = "block capitals" Then 		returnABC = returnABC.ToUpper 	Else 		returnABC = returnABC.ToLower 	End If  	TransNumToABC = returnABC End Function

新分類開張~

Add comment 一月 23rd, 2008

做了程式設計師有一段時間了,腦袋快爆炸,常常記不起來之前寫過什麼,只好用這個來整理,歡迎一起來討論。

在apache設IP-Based的虛擬目錄(Fedora core 5)

Add comment 六月 14th, 2006

在一台主機上,有兩張網卡,每張網卡都有一個實體ip、各有申請到DNS,這台server要做兩個不同功能的web server,當網卡都設定好後,要改apache設定才能讓兩個不同通路進來的根目錄不同。
在/etc/httpd/conf/httpd.conf加入以下內容:

一、設兩個ip都讓apache都會監聽,關掉Listen 80

  1. Listen ip1:80
  2. Listen ip2:80

二、設定目錄的權限

  1. Options none
  2. AllowOverride none
  3.  
  4. Options Indexes FollowSymLinks MultiViews
  5. AllowOverride All
  6.  
  7. Options Indexes FollowSymLinks MultiViews
  8. AllowOverride All

三設定ip對應的目錄

  1. NameVirtualHost IP1
  2.  
  3. ServerName domain name1
  4. DocumentRoot 路徑1
  5. ErrorLog errorlog路徑1
  6. TransferLog accesslog路徑1
  7.  
  8. NameVirtualHost IP2
  9.  
  10. ServerName domain name2
  11. DocumentRoot 路徑2
  12. ErrorLog errorlog路徑2
  13. TransferLog accesslog路徑2

在windows上安裝coppermine

Add comment 五月 26th, 2006

系統環境
windows xp+apache+MySQL+PHP+phpMyAdmin+coppermine+ImageMagick

步驟一:
1.安裝下載回來的 ImageMagick-x.x.x-xxx-windows-dll.exe ,建議安裝在 C:\Program Files\ 以外的資料夾(假設取名“ImageMagick”)。另外安裝時也請勾選 Update executable search path ,以讓系統可以找到 ImageMagick 執行檔的位置;其他用不到的選項可以不勾選。
2.Coppermine的安裝目錄(一般名為CPG)下,添加一個新的資料夾,取名“im”,然後將C:\ImageMagick\中的convert.exe和所有的.dll文件都複製到“im”目錄下。
3.登入到你新安裝的Coppermine的主頁,先建立相簿,然後到“管理模式”中的“設定”,找到“圖片和縮圖的進階設定”,在“建立縮圖的方法”一欄,點選“ImageMagick”,在“ImageMagick ’Convert’ 程式的路徑”一欄中,填入你剛剛在根目錄中建立的資料夾“/root/im/”。然後按“儲存新設定”回到主頁. 試試上傳你的圖片,看看是否成功了。

步驟二:
安裝及設定coppermine(略, 看之前的文章)

注意:
1.上面的步驟不能反過來先設定coppermine再安裝ImageMagick。
2.php.ini的檔案上傳限制要改大一點,才能上張大一點的圖片。

修改php.ini的檔案上傳限制
1.編修php.ini
vi /usr/local/lib/php.ini (liunx底下)
C:\\windows\php.ini(windows下)
只要找到
post_max_size = 8M及upload_max_filesize = 2M
加大一點就可以了
2.重新啟動apache

====================================
最後還有一個很麻煩的地方><”
我要將舊的CPG裡的資料一個也不漏的放到新的CPG裡
版本不同,產生的資料表名稱及數量也不同
我還在想辦法匯出,webmin到底怎麼用丫

解決圖層被flash蓋住的問題

Add comment 四月 24th, 2006

在做學校網頁的時候,果然發生了圖層被flash蓋住的問題,上網查了一下,發現只要在flash的object裡加上

  1. <param name="wmode" value="opaque">

這段就可以了,當然css裡的z-index也是要調整成最上層的數字愈大,不過如果沒加這句,可能仍然被flash 蓋住。

參考網頁:
http://www.an-ping.com/forum/blog/detail.asp….lang=zh_TW

注:firefox不支援此方法。

【轉貼】XAMPP整合式網路伺服器

Add comment 二月 17th, 2006

在找資料的時候一直看到這個,不曉得用起來怎樣~~過兩天來裝看看



台灣php聯盟
【轉貼】XAMPP整合式網路伺服器
在許多朋友的經驗中,安裝 Apache 網頁伺服器並不是那麼容易,更別說是還要安裝 MySQL、PHP與Perl。
XAMPP 是一個容易安裝的 Apache 套件,包含 MySQL、PHP與Perl。XAMPP 的安裝非常容易,只要下載、解壓縮然後就可以開始。

目前 XAMPP 有四種版本:
* XAMPP Linux版
為 LINUX 系統打造的版本 (在 SuSE、RedHat、Mandrake與Debian測試過) 包含: Apache、MySQL、PHP與PEAR、Perl、ProFTPD、phpMyAdmin、OpenSSL、GD、Freetype2、libjpeg、libpng、gdbm、zlib、expat、Sablotron、libxml、Ming、Webalizer、pdf物件、ncurses、mod_perl、FreeTDS、gettext、mcrypt、mhash、eAccelerator、SQLite與IMAP C-Client。
* XAMP Windows版
這個版本是為 Windows 98、NT、2000與XP打造,包含: Apache、MySQL、PHP + PEAR、Perl、mod_php、mod_perl、mod_ssl、OpenSSL、phpMyAdmin、Webalizer、Mercury 郵件傳輸系統v3.32的Win32 與 NetWare 版本、JpGraph、FileZilla FTP Server、mcrypt、eAccelerator、SQLite與WEB-DAV + mod_auth_mysql。
* XAMPP Mac OS X版
這個版本是為 Mac OS X 打造,包含: Apache、MySQL、PHP & PEAR、SQLite、Perl、ProFTPD、phpMyAdmin、OpenSSL、GD、Freetype2、libjpeg、libpng、zlib、Ming、Webalizer、mod_perl、eAccelerator、phpSQLiteAdmin。
警告: 這個版本還在初步開發當中,風險需要自行承擔。
* XAMPP Solaris 版
這個版本是為 Solaris 打造 (在 Solaris 8 開發與測試,也在 Solaris 9 測試過),包含: Apache、MySQL、PHP & PEAR、Perl、ProFTPD、phpMyAdmin、OpenSSL、Freetype2、libjpeg、libpng、zlib、expat、Ming、Webalizer、pdf物件。
警告: 這個版本還在初步開發當中,風險需要自行承擔。

* XAMPP 是免費的
我們不喜歡訂價過高的商業軟體,XAMPP 是我們展示自由軟體沒那麼差的企圖。

* 容易安裝與移除
要安裝 XAMPP ,您只需要下載與解壓縮檔案,就這樣。程式不會異動 Windows 的登錄檔案 (不過如果使用XAMPP的Windows安裝程式例外),而且不需要去編輯任何設定檔案。這再容易不過了!
要確認 XAMPP 是否正常運作,程式包含了一些範例程式,有一個搜集CD的小程式 (使用 PHP 與 MySQL設計) 與一個小留言板 (使用 Perl 設計) 與一些其他展示工具。
如果您認為不再需要 XAMPP ,只要將 XAMPP 的資料夾整個刪除就好了!

* 程式的哲學
在 XAMPP 背後的哲學是建立一個容易安裝的套件,讓開發者能夠進入 Apache 的世界。為了讓開發者更方便, XAMPP 預設將所有功能開啟。
預設值在安全的角度看來並不是那麼好,對於一個實際運作的環境而言還不夠安全,請不要將 XAMPP 運用在這種環境!
不過從 LAMPP 0.9.5 版本開始,您可以透過執行»/opt/lampp/lampp security«來提升系統的安全性。

* 授權方式
XAMPP 是一個自由軟體 (與 Linux 套件相同),不需要付費而且在GPL的授權下可以任意複製。不過這只是針對 XAMPP 這個環境,請記得確認包含在其中的個別程式來了解能夠做到什麼程度。
至於商業用途的使用者請記得看清楚產品授權(特別是 MySQL),從 XAMPP 的觀點看來商業應用也應該是免費的。

* 保證
這個程式的發展是希望成為有用的工具,但是不提供任何擔保;無論是對銷量或健康等特定用途的一絲絲擔保都沒有!« (細節請參考GPL授權)

介紹一本網頁排版的書

Add comment 十一月 23rd, 2005

這本書是我向圖書館借回來的,是在說使用css做網頁排版的注意事項,正好符合無障礙網頁的需求,而且我覺得很不錯的是,他會說那些是好的設計,那些是不好的設計,而要如何修改才會讓程式碼看起來簡潔有力,及如何呈現網頁,和魚缸介紹的那本”Web CSS網頁樣式設計學”正好相輔相成。


Web Standards Solutions網頁設計標準規格
作者:Dan Cederholm/著
出版社:博碩
出版日期:2005 年 06 月 16 日
語言別:繁體中文

Previous Posts