fresh_homepie の回答履歴

全61件中21~40件表示
  • gethostbynameを使うとエラーが出る

    VC++2010EEを用いています デバッグすると出力画面に 'C:\Windows\SysWOW64\rasadhlp.dll' を読み込みました。Cannot find or open the PDB file このような感じのが沢山出てしまいます。(違うdllがいくつも) gethostbynameをコメントアウトするとそのようなエラーは出ません。 しかし、ホスト名からIPアドレスを取得したいのでどうしてもこれを用いたいです。 どうしたらよいのでしょうか?

  • gethostbynameを使うとエラーが出る

    VC++2010EEを用いています デバッグすると出力画面に 'C:\Windows\SysWOW64\rasadhlp.dll' を読み込みました。Cannot find or open the PDB file このような感じのが沢山出てしまいます。(違うdllがいくつも) gethostbynameをコメントアウトするとそのようなエラーは出ません。 しかし、ホスト名からIPアドレスを取得したいのでどうしてもこれを用いたいです。 どうしたらよいのでしょうか?

  • gethostbynameを使うとエラーが出る

    VC++2010EEを用いています デバッグすると出力画面に 'C:\Windows\SysWOW64\rasadhlp.dll' を読み込みました。Cannot find or open the PDB file このような感じのが沢山出てしまいます。(違うdllがいくつも) gethostbynameをコメントアウトするとそのようなエラーは出ません。 しかし、ホスト名からIPアドレスを取得したいのでどうしてもこれを用いたいです。 どうしたらよいのでしょうか?

  • gethostbynameを使うとエラーが出る

    VC++2010EEを用いています デバッグすると出力画面に 'C:\Windows\SysWOW64\rasadhlp.dll' を読み込みました。Cannot find or open the PDB file このような感じのが沢山出てしまいます。(違うdllがいくつも) gethostbynameをコメントアウトするとそのようなエラーは出ません。 しかし、ホスト名からIPアドレスを取得したいのでどうしてもこれを用いたいです。 どうしたらよいのでしょうか?

  • CMapのGetNextAssocのアクセスについ

    マップの仕組みについてよく理解できていないので、どなたか教えてください。 CMapのGetNextAssocの説明では、アクセス順序は不定とありますが、これはメモリの状態等によりアクセス順序が異なってくるということなのでしょうか? キーとValueの組み合わせが全て同じであれば順序はかわらない、と考えてよろしいでしょうか?

  • twitterのタイムラインの全文表示について

    Twitterクライアントのプログラミングについての質問です。 home_timeline.jsonを取得し、textを表示したのですが 長文ツイートのRTに関しては「...」という形で省略されてしまいます。 こういった長文ツイートのRTに関しても全文表示した場合は どのように取得すれば良いのでしょうか? ご教授ください。よろしくお願い致します。

  • vc++6.0とVisual C++ 2010

    遊び程度ですが、VC++をいじったことがあります。 もう何年も触っていませんが。 lVisual C++ 2010 Expressについて調べていたら、    private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {            label1->Text=L"はじめてのC++";         } というコードがありました。 vc++6.0に ”label1->Text=~”こんな1行で文字が表示できる方法ってありましたっけ。 次のサイトのような書き方だったと思いますが、コードの書き方が変わったのでしょうか? http://t-recipe.com/vc/string.html お分かりの方、教えてください。お願いします。

  • critical error c0000005

    Visual C++ 2012 でファイルにデータを書き込む処理を組んでみた所、アプリケーション側にて下記のエラーが出てきます。 [Application side] -- log --------- function 'FuncTest' call from dll 'Test.dll' critical error c0000005 at 77D3F44D. ---------------- Test.cpp内の※1をコメントアウトすると、取り敢えずはエラーは発生しないのですが、どこが間違っているのかがわかりません。 よろしくお願いします。 下記は、VC++のソース部分です。 [Source of C++] --- Test.h ----- #define Test_API __declspec(dllexport) Test_API void WINAPI FuncTest(void); ---------------- --- Test.cpp --- #include "stdafx.h" #include "Test.h" Test_API void WINAPI FuncTest(void) { HANDLE hFile = NULL; __try { _EXCEPTION_POINTERS ep = {NULL}; __try { CHAR filePath[MAX_PATH]; sprintf(filePath, "filename.csv"); hFile = CreateFileA(fileName, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); <--- (※1) if(hFile == INVALID_HANDLE_VALUE) throw; ...(snip) } __except (ep = *GetExceptionInformation(), EXCEPTION_EXECUTE_HANDLER) {) { PEXCEPTION_RECORD per = ep.ExceptionRecord; CHAR eBuff[1024]; sprintf_s(eBuff, 1024, "%d (code:%x flag:%x addr:%p params:%d)", err, eRec->ExceptionCode, eRec->ExceptionFlags, eRec->ExceptionAddress, eRec->NumberParameters); free(eRec); MessageBoxA(NULL, eBuff, "FuncTest Error!", MB_OK); } } __finally { CloseHandle(hFile); } } ---------------- --- Test.def --- LIBRARY Test EXPORTS FuncTest ----------------

    • ベストアンサー
    • noname#184971
    • C・C++・C#
    • 回答数2
  • Windowsフォームの表示

    Visual C++ 2005(Express Edition)で、windowsフォームを3個作りました。 1個目をForm1.h、2個目をForm2.h、3個目をForm3.h、メインプロジェクトは、Sample.cpp, ファイルとします。 Form1にボタンbutton1を作成し、ボタンをクリックしたイベントが発生したとき、Form2を表示させます。 Form2には、ボタンbutton2があります。 Form1と同様に、Form2のボタンをクリックするとForm3の画面が表示されるようにします。 ところが、以下のソースファイルで書いたところ、Form2とForm3は、名前空間に存在しませんという意味のエラーが生じます。 Form2とForm3をインスタンス化し、Show()メッソドで、画面を表示させる方法です。 しかし、Form1とForm2だけのファイルですと、先のソースの書き方で上手くいきます。 何か、書き方が異なるのでしょうか?正しい書き方を教えてくださいますとありがたいです。 なお、C++/CLIの文法に沿った、ソースコードでお願いします。 <ソースファイル> ----Form1.h----------------------------- #pragma once #include "stdafx.h" #include "Form2.h" #include "Form3.h" namespace Sample { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// Form1 の概要 /// /// 警告: このクラスの名前を変更する場合、このクラスが依存するすべての .resx ファイルに関連付けられた /// マネージ リソース コンパイラ ツールに対して 'Resource File Name' プロパティを /// 変更する必要があります。この変更を行わないと、 /// デザイナと、このフォームに関連付けられたローカライズ済みリソースとが、 /// 正しく相互に利用できなくなります。 /// </summary> public ref class Form1 : public System::Windows::Forms::Form { //button1を作成 //省略 #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Form2^ a = gcnew Form2(); a->Show(); } }; } [EOF] --------------------------------------- ----Form2.h---------------------------- #pragma once #include "Form1.h" #include "Form3.h" using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; namespace Sample { /// <summary> /// IsotopeInput の概要 /// /// 警告: このクラスの名前を変更する場合、このクラスが依存するすべての .resx ファイルに関連付けられた /// マネージ リソース コンパイラ ツールに対して 'Resource File Name' プロパティを /// 変更する必要があります。この変更を行わないと、 /// デザイナと、このフォームに関連付けられたローカライズ済みリソースとが、 /// 正しく相互に利用できなくなります。 /// </summary> public ref class Form2 : public System::Windows::Forms::Form { //button2を作成 //省略 } #pragma endregion private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { Form3^ b = gcnew Form3(); b->Show(); } }; } [EOF] --------------------------------------- -------Form3.h-------------------------- #pragma once #include "stdafx.h" #include "Form1.h" #include "Form2.h" using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; namespace Sample { /// <summary> /// Result の概要 /// /// 警告: このクラスの名前を変更する場合、このクラスが依存するすべての .resx ファイルに関連付けられた /// マネージ リソース コンパイラ ツールに対して 'Resource File Name' プロパティを /// 変更する必要があります。この変更を行わないと、 /// デザイナと、このフォームに関連付けられたローカライズ済みリソースとが、 /// 正しく相互に利用できなくなります。 /// </summary> public ref class Form3 : public System::Windows::Forms::Form { //省略 } #pragma endregion }; } [EOF] --------------------------------------------------------- Sample.cpp----------------------------------------------- // Sample.cpp : メイン プロジェクト ファイルです。 #include "stdafx.h" #include "Form1.h" #include "Form2.h" #include "Form3.h" using namespace Sample; [STAThreadAttribute] int main(array<System::String ^> ^args) { // コントロールが作成される前に、Windows XP ビジュアル効果を有効にします Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); // メイン ウィンドウを作成して、実行します Application::Run(gcnew Form1()); return 0; } [EOF] ------------------------------------------------------------

  • HDCを他の領域にコピーするには?

    HDC hdc = CreateDC("WINSPOOL","プリンタの名前",NULL,NULL); ....(1)プリンタのHDCの作成 HDC hdcMemDC = CreateCompatibleDC(hdc); ....(2)前者と同じ仕様のメモリーHDCの作成 hdcとhdcMemDCはハンドラへのポインタだと思います hdc ....(ポインタ)....... hdcの内容 (A) hdcMemDC ....ポインタ.......hdcMemDCの内容 (B) もしBをA領域に書き写せば TextOut(hdc,0,0,"メモリーDCに書き込めると思います",100); とするとプリンタにではなくメモリ-DCに書込むと思います   ⇒ BをAに書き写さずTextOut(hdcMeMDC,0,0,"メモリーDCに書き込めると思います",100);と同じ結果になるでしょう ところが『BをAに書き写す』方法が分かりません ハンドラの構成、サイズなどの資料を探しましたが適当なものが見つかりません ご存知でしたら教えてください 【追加説明】 TextOut(hdc,0,0,"メモリーDCに書き込めると思います",100); のステートメントを TextOut(hdcMeMDC,0,0,"メモリーDCに書き込めると思います,100); にするには一般的にはAPIフックが必要になります ⇒ もちろん全ソースの手修正でも可能ですが...... APIフックも手修正も回避したいのです

  • VC++2010のエディットボックスの出力について

    VC++2010のエディットボックスの出力について質問させていただきました。 シリアル通信でデータを毎秒受信するプログラムを作成しており、 9_27_23.4_33.00 というデータを受信して エディットボックスに表示しているんですが 9_27_23.4_33.00 9_27_23.4_33.00 9_27_23.4_33.00 ・ ・ ・ という表示を期待しているんですが 改行されず上書きされてしまいます CString szRecvの中に受信データが格納されており szRecv = szRecv +"\r\n"を記述しても 改行されませんでした。 どのようにしたら うまく 改行されて表示されるのか よろしくお願いします

  • CreateDCA、CreateDCWのパラメータ

    HDC CreateDC(LPCTSTR lpszDriver, LPCTSTR lpszDevice, LPCTSTR lpszOutPut, CONST DEVMODE *lpInitData)にはUnicode版とANSI版が実装されます よってCreateDCAでは HDC CreateDCA(PCTSTR lpszDriver, PCTSTR lpszDevice, PCTSTR lpszOutPut, CONST DEVMODE *lpInitData) CreateDCWでは HDC CreateDCW(LCPWSTR lpszDriver, LCPWSTR lpszDevice, LCPWSTR lpszOutPut, CONST DEVMODE *lpInitData) と定義されているのだと思い、上記の形式で呼び出しましたがエラーとなってしました Run_Time check Failure #0- The Value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling conversion with a function pointer declared with a different calling conversion. なぜCreateDCではなくCreateDCAとCrateDCWを直接呼び出すような面倒なことをしているかというと、APIフックでCreateDCを引っ掛けたいのです CreateDCはCreateDCA、CreateDCWになってしまうのでCreateDCではフック出来ません そこでCreateDCA、CreateDCWでフックして当方の処理を行い、その後で本来のCreateDCA、CreateDCWを呼び出しております ところが呼出し方が悪いらしく上記の英文エラーが出てしまいます CreateDCA、CreateDCWで検索したのですが適当な資料が見当たりません 目下のところ手も足も出ません CreateDCA、CreateDCWのパラメータ指定法(多分エラーの原因だろうと思っていますので・・・)をご存知でしたらご指導願います

  • CreateDCA、CreateDCWのパラメータ

    HDC CreateDC(LPCTSTR lpszDriver, LPCTSTR lpszDevice, LPCTSTR lpszOutPut, CONST DEVMODE *lpInitData)にはUnicode版とANSI版が実装されます よってCreateDCAでは HDC CreateDCA(PCTSTR lpszDriver, PCTSTR lpszDevice, PCTSTR lpszOutPut, CONST DEVMODE *lpInitData) CreateDCWでは HDC CreateDCW(LCPWSTR lpszDriver, LCPWSTR lpszDevice, LCPWSTR lpszOutPut, CONST DEVMODE *lpInitData) と定義されているのだと思い、上記の形式で呼び出しましたがエラーとなってしました Run_Time check Failure #0- The Value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling conversion with a function pointer declared with a different calling conversion. なぜCreateDCではなくCreateDCAとCrateDCWを直接呼び出すような面倒なことをしているかというと、APIフックでCreateDCを引っ掛けたいのです CreateDCはCreateDCA、CreateDCWになってしまうのでCreateDCではフック出来ません そこでCreateDCA、CreateDCWでフックして当方の処理を行い、その後で本来のCreateDCA、CreateDCWを呼び出しております ところが呼出し方が悪いらしく上記の英文エラーが出てしまいます CreateDCA、CreateDCWで検索したのですが適当な資料が見当たりません 目下のところ手も足も出ません CreateDCA、CreateDCWのパラメータ指定法(多分エラーの原因だろうと思っていますので・・・)をご存知でしたらご指導願います

  • CreateDCA、CreateDCWのパラメータ

    HDC CreateDC(LPCTSTR lpszDriver, LPCTSTR lpszDevice, LPCTSTR lpszOutPut, CONST DEVMODE *lpInitData)にはUnicode版とANSI版が実装されます よってCreateDCAでは HDC CreateDCA(PCTSTR lpszDriver, PCTSTR lpszDevice, PCTSTR lpszOutPut, CONST DEVMODE *lpInitData) CreateDCWでは HDC CreateDCW(LCPWSTR lpszDriver, LCPWSTR lpszDevice, LCPWSTR lpszOutPut, CONST DEVMODE *lpInitData) と定義されているのだと思い、上記の形式で呼び出しましたがエラーとなってしました Run_Time check Failure #0- The Value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling conversion with a function pointer declared with a different calling conversion. なぜCreateDCではなくCreateDCAとCrateDCWを直接呼び出すような面倒なことをしているかというと、APIフックでCreateDCを引っ掛けたいのです CreateDCはCreateDCA、CreateDCWになってしまうのでCreateDCではフック出来ません そこでCreateDCA、CreateDCWでフックして当方の処理を行い、その後で本来のCreateDCA、CreateDCWを呼び出しております ところが呼出し方が悪いらしく上記の英文エラーが出てしまいます CreateDCA、CreateDCWで検索したのですが適当な資料が見当たりません 目下のところ手も足も出ません CreateDCA、CreateDCWのパラメータ指定法(多分エラーの原因だろうと思っていますので・・・)をご存知でしたらご指導願います

  • C言語で作成するチャットについて

    LinuxでC言語のチャットプログラムを作成しています。プログラムを作ってみましたがうまく動きません。悪い個所が分からないのでお力を貸して頂きたいです課題の提出が迫っているので、よろしくお願いいたします。 <server> #include省略 #define PORT 5320 char *show_ip(char *ip_address); int main(void){ int soc, acc, size, child[3],width,i,count,pos,ret; char buffer[80]; struct sockaddr_in client, server; struct sockaddr_storage from; struct hostent *server_host; socklen_t len; fd_set mask; char host_name[257]; int temp; memset(host_name, 0, sizeof(host_name)); gethostname(host_name, 256); server_host = gethostbyname(host_name); printf("\n-------- informations of server ----------\n"); printf("Host name:%s\n", host_name); printf("IP = %s\n", show_ip(server_host->h_addr)); printf("\n\n"); soc = socket(AF_INET, SOCK_STREAM, 0); memset((char *)&server, 0, sizeof(server)); server.sin_family = AF_INET; server.sin_addr.s_addr = htonl(INADDR_ANY); server.sin_port = htons(PORT); bind(soc, (struct sockaddr *)&server, sizeof(server)); size = sizeof(client); listen(soc, 5); for (i = 0; i < 3; i++){ child[i] = -1; } for (;;) { FD_ZERO(&mask); FD_SET(soc, &mask); for (i = 0; i < 3; i++) { if (child[i] != -1){ FD_SET(child[i], &mask); if(child[i]+1 > width){ width = child[i]+1; } } } switch(select(soc+1, (fd_set *) &mask, NULL, NULL, NULL)) { case -1: perror("select"); break; case 0: break; default: if (FD_ISSET(soc, &mask)){ len = (socklen_t) sizeof(from); if((acc = accept(child[i], (struct sockaddr *)&from, &len)) == -1){ if(errno != EINTR){ perror("accept"); } }else{ if(child[0]&&child[1]&&child[2]!=-1){ fprintf(stderr,"child is full : cannot accept\n"); close(acc); }else{ if(child[0] == -1){ child[0] = acc; }else if(child[1] == -1){ child[1] = acc; }else{ child[2] = acc; } } } } for(i=0;i<3;i++){ if(child[i]!=-1){ if(FD_ISSET(child[i],&mask)){ memset(buffer, '\0', sizeof(buffer)); recv(child[i], buffer, 80, 0); printf("%s> ", show_ip((char *)&client.sin_addr)); printf("%s", buffer); if(strncmp(buffer, "exit", 4) == 0) break; for(i=0;i<3;i++) { send(child[i],show_ip((char *)&client.sin_addr),80,0); send(child[i],buffer,80,0); close(child[i]); } (void) close(child[i]); child[i] = -1; } } break; } } } } char *show_ip(char *ip_address){ static char ip[7]; char ipnum[4]; bcopy(ip_address, ipnum, 4); sprintf(ip, "%u.%u.%u.%u",(unsigned char)ipnum[0], (unsigned char)ipnum[1], (unsigned char)ipnum[2],(unsigned char)ipnum[3]); return ip; } <client> #include省略 #define STDIN_FD 0 #define PORT 5320 int select_func(int sockfd); void err_func(char *msg){ perror(msg); exit(EXIT_FAILURE); } int main(int argc, char **argv){ int sockfd, len; char buf[BUFSIZ]; struct sockaddr_in serv; unsigned short port; if(argc != 3){ printf("usage: progname serv_ip serv_port\n"); exit(EXIT_FAILURE); } if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) err_func("socket"); serv.sin_family = PF_INET; port = (unsigned short)atoi(argv[2]); serv.sin_port = htons(port); inet_aton(argv[1], &(serv.sin_addr)); if(connect(sockfd, (struct sockaddr *)&serv, sizeof(struct sockaddr_in)) < 0) err_func("connect"); do{ if(select_func(sockfd) == 0){ len = recv(sockfd, buf, BUFSIZ, 0); buf[len] = '\0'; printf("-> %s\n", buf); }else{ len = read(STDIN_FD, buf, BUFSIZ); len = send(sockfd, buf, len, 0); } }while(strncmp(buf, "EXIT\r\n", 6) != 0 && strncmp(buf, "EXIT\n", 5) != 0); close(sockfd); return 0; } int select_func(int sockfd){ fd_set rfds; FD_ZERO(&rfds); FD_SET(sockfd, &rfds); FD_SET(STDIN_FD, &rfds); if(select(sockfd+1, &rfds, NULL, NULL, NULL) < 0) err_func("select"); if(FD_ISSET(STDIN_FD, &rfds)) return STDIN_FD; return sockfd; }

  • #pragma commentの相対パス指定

    #pragma commentの相対パス指定について、希望の動作をしないません。 状況は以下の通りです。 libというフォルダの中にlibA、libBの二つのフォルダがあり、それぞれのフォルダの中には、lib_a.lib、mylib_b.libというファイルがあるとします。 lib -libA -lib_a.lib -libB -lib_b.lib またライブラリディレクトリにはlibのパスのみが指定されていたとします。 この状況で#pragma comment(lib,"libA\\lib_a.lib")とすると、 「LINK : fatal error LNK1104: ファイル 'libA\lib_a.lib' を開くことができません。」 と出てしまいます。 #pragma commentの中では、相対パスは使えるはずなのですが、なぜこの場合はリンクが出来ないのでしょうか? ちなみに絶対パスで指定した場合はエラーは出ません。 できればフォルダで分割してライブラリを管理したいと考えているので、何か解決方法をご存知の方がいれば、ご教授ください。 環境は ・OS:Windows7 ・使用ソフト:Visual C++ 2010 Express ・言語:C++ です。

  • C++における並列処理に関する質問です。

    現在赤黒木の改良を考えているのですが、赤黒木におけるノードの挿入操作は、ノードが多くなるとリバランスに非常に時間がかかります。 そこで、プログラム内で挿入操作が必要となった時に、挿入操作を行うスレッド(もしくはプロセス)を新規で作成し、挿入に関してはそのスレッド、その他は元のスレッドが実行というように並列で行いたいのですが、どのようにスレッドを作れば良いか分からない為、教えてください。 挿入における排他制御(フラグ管理)などのアルゴリズムの部分は勉強したので、スレッドの作成方法が知りたいです。また、再帰を頻繁に行うプログラムなので、スレッド作成数の上限も設定したいです。 参考にしている論文 http://uc.alerta.cl/xmlui/bitstream/handle/123456789/1413/586394.pdf?sequence=1 なお、開発環境はVisual C++ 2012で、OpenMPも使用できます。ただオブジェクト指向に慣れていないため、ほとんどC言語で書いています。 以下に、簡単なソース、及び図を載せますので、お手数をおかけしますがアドバイスをいただけないでしょうか? (簡単なソース) main(){ x = f1(); } int f1(){ if() y = f1(); //再帰を頻繁に行います if() insert(); //挿入はスレッドを新規に作成し、元のスレッドと並列で実行(複数の挿入スレッドが同時に存在しうる) return y; } p.s. 同じ内容の質問をyahoo知恵袋でも出しているのですが、回答してくれた方への質問に答えたりが出来ない為、こちらに転載させていただきました。 また、CreateThread()で実現できそうというアドバイスも頂けたのですが、もう少し具体的な実装方法が調べても分からなかったので、その点に関してのアドバイスでも十分ですので、よろしくお願い致します。

  • ページング実装で2ページ目以降が全件表示してしまう

    検索システムの検索結果を分割表示する仕組みを作っているのですが、1ページ目は問題無く思った通りに表示されます。 しかし、2ページ目以降はすべて全件表示してしまいます。 「◯件中△件表示」というのは正常に動作しています。 いろいろ試行錯誤する中で、$queryの中身が2ページ目以降はwhere句等が外れてしまっているのが原因だということがわかりました。 じゃあ2ページ目以降にもきちんとそれらが反映されるように手直ししていこうということなのですが、どう対処していいかにつまづいています。 いろいろ情報を見ながら何度もチャレンジしているのですがうまくいきません。 2ページ目以降が全件表示ではなく検索結果として1ページ目の続きとして表示させるためにどうすればいいか、アドバイスをいただけないでしょうか。 よろしくお願い致します。 ※以下に今回の該当箇所のコードを記載します。 <?php $debug = false; //DB 接続 $url = "localhost"; $user = "DBユーザー名"; $pass = "DBパスワード"; $db = "DB名"; $link = mysql_connect($url,$user,$pass) or die("No Connected"); $sdb = mysql_select_db($db,$link) or die("No Connected"); if($debug) echo_r($_GET); mysql_set_charset('utf8'); //エラーチェック //リクエストメソッドチェック if($_SERVER["REQUEST_METHOD"] != "GET") { echo "Error: invalid method"; exit(); } define('NUM_SHOPS', 10); error_reporting(E_ALL & ~E_NOTICE); if (preg_match('/^[1-9][0-9]*$/', $_GET['page'])) { $page = (int)$_GET['page']; } else { $page = 1; } $offset = NUM_SHOPS * ($page - 1); //クエリ生成 $query = "SELECT * FROM テーブル名"; //検索条件抽出 $where = array(); if (isset($_GET['area'])and($_GET['area'] !== '')) { $where[] = sprintf("(area='%s')", mysql_real_escape_string($_GET['area'])); } if (count($where) <> 0) { $query .= ' where ' . implode(' and ', $where) . ' ORDER BY id DESC '; } if (count($where) <> 0) { $query .= "limit " . $offset . ", " . NUM_SHOPS; } //Result $result = mysql_query($query) or die($query . '<br />' . mysql_error() . '<hr />'); $num_rows = mysql_num_rows($result); //検索結果件数カウント $query = "SELECT COUNT(id) FROM テーブル名"; $where = array(); if (isset($_GET['area'])and($_GET['area'] !== '')) { $where[] = sprintf("(area='%s')", mysql_real_escape_string($_GET['area'])); } if (count($where) <> 0) { $query .= ' where ' . implode(' and ', $where) . ' ORDER BY id DESC'; } $total = mysql_result(mysql_query($query), 0); $from = $offset + 1; $to = ($offset + NUM_SHOPS) < $total ? ($offset + NUM_SHOPS) : $total; ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> </head> <body> <!--検索結果表示画面始まり--> ~~~~~省略~~~~~ <!--検索結果表示画面終わり--> <!--以下、ページリンク--> <p> <?php if ($page > 1) : ?> <a href="?page=<?php echo $page - 1; ?>">前</a> <?php endif; ?> <?php for ($i = 1; $i <= ceil($total / NUM_SHOPS); $i++) : ?> <?php if ($page == $i) : ?> <strong><?php echo $i; ?></strong> <?php else : ?> <a href="?page=<?php echo $i; ?>"><?php echo $i; ?></a> <?php endif; ?> <?php endfor; ?> <?php if ($page < ceil($total / NUM_SHOPS)) : ?> <a href="?page=<?php echo $page + 1; ?>">次</a> <?php endif; ?> </p> </body> </html>

  • ウインドウの位置を知る。

    c++BuilderXE2です。 HWND hwnd=FindWindow(NULL,L"P_orderwb"); で取得したウィンドウのスクリーン上の位置を知るにはどうすればよいですか。 ウインドウハンドルに対応した位置のプロパティがわからないのです。 例えば hwnd->Left,hwnd->Top などでできないかと試しましたが、メンバーではありませんでした。

  • グラフィック描画中にボタンが使えない

    よろしくお願いします。 Visual Basic 2010です。 ピクチャーボックスに、黒で四角を書いて、白で四角を書いて消すと言うことを始点を移動しながら黒の四角が移動していくように作りました。 これを実行している間にボタンをクリックして止めようと思うのですが、ボタンをクリックしてもボタンのハンドラーが実行されません。 どのようにしたらいいのでしょうか? 描画部分のみを記述します。 Dim g As Graphics = Me.PictureBox1.CreateGraphics() For j = 1 to 20000 For i = 1 to 1000 StartBlack = i + 50 Startwhite = i g.FillRectangle(Brushes.Black, StartBlack, 0, 50, 500) g.FillRectangle(Brushes.White, Startwhite, 0, 50, 500) ' ゆっくり動かすための時間稼ぎです。 For k = 1 to 2000 b = k ^ 100 Next Next Next