今インターネットブラウザを作っているのですが
IEのように戻す進むの処理をどうすればいいのかわかりません
できればソース付の解説をお願いします。
ブラウザ
#私は上のゲストさんとは別人ですが
このようなコードでどうでしょうか?
このようなコードでどうでしょうか?
[ここをクリックすると内容が表示されます]
今適当に考えながら打ったので、どこかにバグがあるかもしれません。また、上手く動かないかもしれません。ご了承ください。コード: 全て選択
Dim AddressPoint(9) As *Byte
Dim NowPointingAddressPoint As Long
'第一引数に、保存するアドレス名へのポインタを渡す。
Sub PushNewAddress(Addr As *Byte)
If NowPointingAddressPoint = 10 then
free(AddressPoint(0))
Dim i As Long
For i=0 To 8
AddressPoint(i)=AddressPoint(i + 1)
Next i
AddressPoint(9)=calloc(lstrlen(Addr))
memcpy(AddressPoint(9),Addr,lstrlen(Addr))
Else
Dim npap As Long
npap = NowPointingAddressPoint
If AddressPoint(npap) then
Dim i As Long
For i = npap To 9
If AddressPoint(npap) then
free(AddressPoint(npap))
AddressPoint(npap) = 0
End If
Next i
End If
AddressPoint(npap) = calloc(lstrlen(Addr) + 1)
memcpy(AddressPoint(npap),Addr,lstrlen(Addr))
NowPointingAddressPoint ++
End If
End Sub
'引数なし。
'戻り値は、エラーなら0、エラーで無いならアドレス名へのポインタ。
Function GoAddress() As *Byte
If NowPointingAddressPoint = 10 then
GoAddress = 0
Exit Function
End If
Dim npap As Long
npap = NowPointingAddressPoint
If AddressPoint(npap) = 0 then
GoAddress = 0
Exit Function
Else
GoAddress = AddressPoint(npap)
NowPointingAddressPoint ++
Exit Function
End If
End Function
'引数なし。
'戻り値は、エラーなら0、エラーで無いならアドレス名へのポインタ。
Function BackAddress() As *Char
If NowPointingAddressPoint = 0 then
BackAddress = 0
Exit Function
End If
NowPointingAddressPoint --
BackAddress = AddressPoint(NowPointingAddressPoint)
Exit Function
End Function
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
先ほど投稿した関数を用いるなら、こんな感じでどうでしょうか?
#それと皆さんよく間違えるのですが、konisiです。
[ここをクリックすると内容が表示されます]
#BackAddress()関数が*Char型で返すことになっていますが、タイプミスです。*Byteか*Charのどちらかに統一してください。コード: 全て選択
Dim NowAddressName As *Byte
Sub MainWnd_CommandButton1_Click()'戻る
Dim AddressName As *Byte
AddressName = BackAddress()
If AddressName <> 0 then
NowAddressName = AddressName
Flash()'再描画関数か何か。
End If
End Sub
Sub MainWnd_CommandButton2_Click()'進む
Dim AddressName As *Byte
AddressName = GoAddress()
If AddressName <> 0 then
NowAddressName = AddressName
Flash()'再描画関数か何か。
End If
End Sub
#それと皆さんよく間違えるのですが、konisiです。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。