もっと!REALbasic

このエントリーをはてなブックマークに追加
933名称未設定:03/02/20 00:06 ID:9SKjp8Ru
Rbの正規表現ってどんなん使えるの?それがわからんのでアレなんだが。
>>930
とっても基本的な事で済みそうだからWebで正規表現しらべてみては。
/([^@]*)@/
とか?嘘だったらスマソ
934名称未設定:03/02/20 01:52 ID:yrX/I3KJ
ありがとうございます!
正規表現では一応解決したのですが、次のサーチポイントの指定などややこしいんですね。
NthFiedl・・・そんなのがあったのですね!(HCのXと同じ感覚で使えそうです)

935名称未設定:03/02/20 04:23 ID:UCbW8CBe
フードル。
936名称未設定:03/02/20 19:54 ID:xdYw4xnL
おかげさまでうまくいきました。

が、NthFieldですが、日本語、英語問わず、取りこぼしがあるようです。バグなのかな?

で、mic_NthFieldを使うとうまくいきました。
937名称未設定:03/02/20 20:00 ID:WB1es8L1
RbのNthFieldが使い物にならないのは
昔から有名です。
直そうともしやしない・・・。
938名称未設定:03/02/20 20:16 ID:xdYw4xnL
ありがとうございます。そうですか。
テキスト処理などでは、重宝するんですけどね。

ほんとはプラグインをあまり多用したくないんですが、仕方なさそうですね。
939名称未設定:03/02/21 14:04 ID:WhNMsJ5K
Window1.show
などではなく、Window1を複数枚開く方法はないのでしょうか?
アドバイスいただけますと幸いです。
940名称未設定:03/02/21 14:11 ID:an77DOBN
いつのまにか高額なソフトになってたのね・・・。
941名称未設定:03/02/21 18:34 ID:9PaiowrJ
>>939
もうFAQに近いんじゃないかと思うけど、
Dim window As Window1
window = New Window1
といったコードを適当な場所で書けばOKなはず。

Window1.showといった横着な方法ではなくて、
きちんとクラスからインスタンス化しましょうということで。
942名称未設定:03/02/21 18:37 ID:bOuiRBv3
おーいREALBasicVer3
943REALBasicVer3:03/02/21 19:36 ID:T194YfTQ
>>942
なんだ?
944:03/02/21 20:20 ID:bOuiRBv3
やっときたか
945名称未設定:03/02/21 20:51 ID:TeRfaQ5I
>>944
RBではありません!
Rbです!
946名称未設定:03/02/21 22:50 ID:RQ06SycZ
>>945
モマエはどっかのMLのひとなのかよ!w
947名称未設定:03/02/21 23:32 ID:Rq1znTBK
betaのMLではRBって書いてるけどね。

5fc1が出たからいよいよか。
日本語版はすぐに出るんでしょうか。
どうせ5.0.2くらいにならないと使いものに・・・
948名称未設定:03/02/21 23:42 ID:t6mKi8p5
REALbasic製で、有名なソフトや凄いソフトがあれば
教えて下さい。
949名称未設定:03/02/21 23:49 ID:T194YfTQ
そういやREALbasic本体はなにで作られてるんだろ
950名称未設定:03/02/22 00:18 ID:9CSvj+QY
>>948
歴代俺専用curlGUI
「逝ったきり…」
「帰って来いよ…」
「刑事犬curlおじさん」

shellコマンド投げると1ファイル落ちきるまで操作に反応しない
どうすればいいのか解らない…thread使ってもだめぽ…
951名称未設定:03/02/22 00:40 ID:vKdi7sWs
>>949
〜.cppのエラーよく見るやん・・・。

>>950
Shell.Mode = 2とかにすれば非同期になるけど。
952950:03/02/22 01:49 ID:9CSvj+QY
>>951
答えてくれてありがとう。
listboxにある複数のURLを連続的にコマンドで送る仕様で
非同期にするとコマンド送りまくりで落とせなかった…。
953名称未設定:03/02/22 02:09 ID:d92itYaY
>>948
Auto-illustrator
こりゃすごい
954名称未設定:03/02/22 02:21 ID:x88ZM9Nt
俺の作った計算機。
しかも全てIntegerで処理。
955名称未設定:03/02/22 13:56 ID:cQWhSDAk
>>948
フリーウェアで容量が大きかったらRb製(w

>>940
もともと高い。
バージョンアップの料金なんかも。
2.xのユーザーとかもはや無視。
割るのは簡単だけど、せっかく買ったのにと思うとむなしい。
古いバージョンでもバグや機能の不足を自力でどうにかできる
実力者はいいのだろうけど。
956名称未設定:03/02/24 17:32 ID:rN6p5g7Y
957名称未設定:03/02/24 18:34 ID:tsXO/3ok
キタ━━(゚∀゚)━( ゚∀)━( ゚)━( )━( )━(゚ )━(∀゚ )━(゚∀゚)━━!!!!!
958名称未設定:03/02/24 20:22 ID:sNsTuvNw
good job!
959885:03/02/24 22:10 ID:64YfjZXs
度々すまそ。

SerialPort について聞いたものです。

KeySpan のシリアルポート、有楽町のビックにありました。 最初モノだけ抜いてパッケージをゴミ箱に入れたらCDがポロッと。危ないトコでした。

結果的にはRb3.5では使えないことが判明しました。 SerialToolBox とかなんかに対応していなかったようです。
OS9で4.5のお試し版をインスコしてないのに気づいて早速やってみると「内蔵モデム」で認識してくれたので、このバージョンまでのどこかで対応したのでしょう。

で、まさかと思って前に買ってきた SUNTAC のシリアルポートも付けて見たら見事認識。

っつうことで、3.5 逝ってよしってことに決定しましたです。 今度ライセンス買って気マスです。 アドバイス頂いた方々、ありがとうございました。
960名称未設定:03/02/25 00:06 ID:tQEbslgE
を、ドロワー対応したんだRb5。
うーん、買いかなぁ・・・。
961名称未設定:03/02/26 03:11 ID:LcgO51ap
なかなか良さげだなREALbasic5
962名称未設定:03/02/26 09:30 ID:1elHCR7r
2chにアクセスしたいんですが、普通に
例えばこのスレのURL
http://pc.2ch.net/test/read.cgi/mac/998627940/l50
でアクセスするとHTTP/1.1 302 Foundと短いメッセージが出てしまうのですが
どうやったら普通に表示されるんでしょうか?
ちなみにdat直読みは可能だけど、ちょっとやりきれないというか・・・。

ソースはありがちなものです
kCrlf = chr(13) + chr(10)
kUrl = "http://pc.2ch.net/test/read.cgi/mac/998627940/l50"
kHost = Host( kUrl )
kPath = Path( kUrl )  //HostとPathはただのURL分解ルーチン
Socket1.address = kHost
Socket1.connect
Socket1.write "GET " + kPath + " HTTP/1.1"+kCrlf
Socket1.write "Host: "+ kHost + kCrlf
Socket1.write kCrlf
963名称未設定:03/02/26 11:39 ID:1elHCR7r
ごめん、アクセスできた。
唐揚げスマソ・・・。
964耗駄目歩:03/02/28 21:22 ID:aXO8S5BU
threadのRun内で前処理をしてpShellCommandにコマンドを入れています。
pShellCommand = "( " + "cd " + dlfp + " ; " + "curl -e " + referer + " " + pURL + " -o "+ filename + filenumext + " )"//シェルコマンド

↓ここで虹色グルグルになってしまい、その時ダウンロードしているファイルを落としきるまで、操作を受け付けなくなってしまいます。
虹色グルグルにならないようにするには、どうしたらいいのでしょうか。
curlを実行するメソッド

pShell = new Shell
pShell.mode = 0
pShell.Execute pShellCommand
//シェルに送ったコマンドが実行されたときの処理
if pShell.errorCode = 0 then//無事に終了したときの処理
Main_Window.URL_LBox.cell(gpURLLBListIndex,2) = "取得済み"//リストボックスの状況に表示
gpURLLBListIndex = gpURLLBListIndex + 1//URL用のインデックスを加算
pURLCCount = pURLCCount - 1//待機ファイルを減算
pDicCount = pDicCount + 1
pTryCount = 1//エラーの回数を初期化
else//エラーが発生したときの処理
Main_Window.URL_LBox.cell(gpURLLBListIndex,2) = "だめぽ..."//リストボックスの状況に表示pTryCount = pTryCount + 1//エラーの回数を加算
if pTryCount = pTryLimit then//エラーの回数が上限に達したときの処理
Main_Window.URL_LBox.cell(gpURLLBListIndex,2) = "取得失敗"//リストボックスの状況に表示
pErrorURL = pErrorURL + pURL + chr(13)
gpURLLBListIndex = gpURLLBListIndex + 1//URL用のインデックスを加算
pDicCount = pDicCount + 1
pTryCount = 1
pErrorCount = pErrorCount + 1
Main_Window.DownLoadError_SText.text = str(pFoulCount)
end if//エラーの回数が上限に達したときの処理終了
end if//無事に終了したときとエラーが発生したときの処理終了
965名称未設定:03/03/01 08:52 ID:/LoJ6BYI
>955
> 2.xのユーザーとかもはや無視。

んなこたーない。
漏れ、2.0買ってこれまでずっと来てて、もう今更バージョンアップなんか無理だなと思ってたんだが、
最近アスキーのREALbasicのページ逝ってみたら
2.0からも4.5へバージョンアップできるようになってたから嬉しかったよ。
966名称未設定:03/03/01 12:09 ID:5433UuZq
>>964
新規Classを作る
SuperをShellにする
Windowに貼付ける
967名称未設定:03/03/01 12:53 ID:NkXJmTrv
2.0でも別にそこそこの物は問題なく作れる罠。
968名称未設定:03/03/01 14:37 ID:8Sox8uRe
最初のころ、5千円くらいで販売されてたような。
969耗駄目歩:03/03/01 16:44 ID:37ohSk3Q
>>966
やってみました

やってみたこと
SuperがshellのMyShellというclassを作成
ウィンドウにドロップしてMyShellのインスタンスを生成
thread内から MyShell1.Excute コマンド と送る


結果
次々と登録してあるURLのファイルを落とし続ける
curlの実行の合間にはウィンドウの移動などに応じる
curlが実行中のときは虹色グルグルが出てしまう

送っているシェルコマンドに付随する処理
URLからフォルダ名にするドメインを取り出す
URLからリファラーにする文字列を取り出す
URLからファイル名にする文字列を取り出す
URLからファイルの拡張子を取り出す
ダウンロード先に指定したフォルダ直下にドメイン名のフォルダが無ければ作成する

cdでディレクトリ移動(ドメイン名のフォルダへ)
そのディレクトリでcurlをオプション-e(リファラー)と-o(ファイルの命名)付きで実行

modeは0(=同期)じゃないとちゃんと落ちてこない
thread内でShellの子を生成してもだめぽ…
基本的に何か勘違いしてるんでしょうか
もうわからない…
970名称未設定:03/03/01 23:54 ID:PRxxnd87
>>964
酔っぱらってるからキツく聞こえるかも知んないけど
根本的に間違ってるよおまえ。
pShell = new Shell
pShell.mode = 1//非同期にしないと虹が回るじゃん。
pShell.Execute pShellCommand
while pShell.IsRunning
pStatus= pShell.Readall//ステータス取得。
wend
//シェルに送ったコマンドが実行されたときの処理
以下は同じコードでもいいけどそれヘボ過ぎ。
pShellCommand= "curl -e " + referer + " " + pURL + " -o "+dlfp+"/" filename + filenumext//シェルコマンド
ここはこれでいいよ。
つ〜かURLコレクターとか一発とかあるんだし今更じゃない?
勉強のためって言うのもあるんだろうけど。
971耗駄目歩:03/03/02 01:48 ID:YluegQnO
>>970
ありがと〜!できた〜!
PRチョメチョメンド87さん大好き〜!

modeを変えて何回も試したのに
IsRunningを見て真偽を確認しないでいたから
かまわずコマンドを連投して落とせなかったんですね。

URLコレクターと一発ってゲッター1ですか?
そうなんですよね。
便利ですよね。

ヘボい処理満載で色々作ってます。
自分なりに試して調べて煮詰まり諦めかけていたとこで
恥かき覚悟で問題がある部分を晒してみた結果がこれです。
ちゃんと動作する様に導いてもらえました。

自分で作ったものがバージョンアップというより
マシになっていくのがとても楽しい。
972名称未設定:03/03/02 02:07 ID:DLi5qopT
創作は作る過程が面白いのだよ。
973名称未設定:03/03/02 08:32 ID:MxzaWaKI
君子はその志を得るを楽しむ。
小人は事物を得るを楽しむ。
971、がんがれ。
974970:03/03/02 11:05 ID:iF6P43LB
>>971
おまえいいやつだな。
ついでに行き詰まりそうなとことして
dlfpのUTF8とエスケープ処理、
pURLのエンコードかそうしない場合のエスケープ処理も
見直してあげて下さい。
頑張ってね。

975970:03/03/02 11:22 ID:iF6P43LB
書き忘れたけど
pErrorURL = pErrorURL + pURL + chr(13)
gpURLLBListIndex = gpURLLBListIndex + 1//URL用のインデックスを加算
pDicCount = pDicCount + 1
pTryCount = 1//これはスレッドに持たす
pErrorCount = pErrorCount + 1
Main_Window.DownLoadError_SText.text = str(pFoulCount)
この辺りの変数はMain_Windowかグローバルに持たせて
メソッド化してセマフォを使うといいよ。
そうすればマルチスレッドで使えるから。
pMySemaphore.signal
Main_Window.pUrkIndexAdd(pFoulCount)
pMySemaphore.release

Sub Main_Window.pUrkIndexAdd(pFoulCount as string)
pErrorURL = pErrorURL + pURL + chr(13)
gpURLLBListIndex = gpURLLBListIndex + 1//URL用のインデックスを加算
pDicCount = pDicCount + 1
pErrorCount = pErrorCount + 1
DownLoadError_SText.text = str(pFoulCount)
end Sub
976名称未設定:03/03/02 12:56 ID:3DcC3W7F
REALbasic4.5.2で作成していた2getというファイル共有ソフトを5.0に移植したいのですが
SocketクラスをTCPSocketに置き換えただけでは動作しないようです。
移植に成功した方いらっしゃいませんか。
経験談などをお聞かせ頂けるとうれしいです。
977名称未設定:03/03/02 15:50 ID:3DcC3W7F
すみません。解決しました。
Connectedイベントが返される前にwriteを行っていたスタイルが5.0では通用しなくなっていたようです。
978名称未設定:03/03/02 22:34 ID:AEsj2uC9
このスレもやっと次スレの時期か。
980がスレ立てということで。
979名称未設定:03/03/02 23:01 ID:DLi5qopT
↓カマン
980耗駄目歩:03/03/03 01:27 ID:xLQp7SVu
>>972-973
がんがる〜!うぉぅうぉぅ!

>>974-975
チョメチョメンドさん、度々すいません。(T^T)

そうである場合とそうでない場合の処理って
とても大事ですもんね。

セマフォってのを調べていたら
クリティカルとやらが出てきました。
クリティカル…クリティカル…何かっぽい。
プログラムっぽい。

セマフォは
「イントロクイズでの回答権利付きマイク」
って感じですかね。

>>978-979
マジデスカ…
981耗駄目歩:03/03/03 03:09 ID:xLQp7SVu
新スレたてちゃいました。

もっと!REALbasic コードエディタ(Thread2)
http://pc.2ch.net/test/read.cgi/mac/1046628330/l50
982970
>>980
クリティカルセクションに入る場合に
セマフォをカウントするのが普通だと思うけど、
Rbでは別物のようだね。
優先順位Etcな実際の実装はわかんないや。
あたしはセマフォしか使ってないよ。
実装がヘボくて多少低速になっても
破綻するよりはいいから。