|
Joy Anne wrote: how many lines of text
One way could be:
You can use CString::Find method to check if the string in the edit box contains a \n. If it contains just increment the count by 1 and so on.....
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
use CEdit::SetSel() and place the caret after the last character...
|
|
|
|
|
That does not give you the line number, however. You'd have to then call CEdit::LineFromChar() to get the line number (minus one).
"Money talks. When my money starts to talk, I get a bill to shut it up." - Frank
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
DavidCrow wrote: That does not give you the line number, however
indeed. but what the OP seems to try to do looks like a headache for what he wants to achieve...
|
|
|
|
|
hi,
I have designed a custom menu with xp look.Now i have struck at attaching icons to the different menu options.Can anyone suggest me the way to get solution to my problem.
Thanks,
Radhika.
|
|
|
|
|
Costum drawn menus. In the drawing function you draw the icon yourself.
Greetings from Germany
|
|
|
|
|
|
Thanks for replying to me.
|
|
|
|
|
I hope it solved your problem
|
|
|
|
|
ya,i got an idea how to do.
|
|
|
|
|
Hi there, i'm relatively new to this forum in the sense that i've only ever posted here once or twice quite some time ago. Anyway, i've come across a slight problem in a very basic Win32 console application i'm working on. Some might be familiar with the "Game of Life" in which there are a number of characters placed on a two dimensional board in various squares. You then iterate through generations and the number of characters in the surrounding 8 squares of each character determines whether the creature dies from overcrowding, dies from isolation or lives through having the right amount of neighbours. Ok, so that's just the background.
I'm up to the part of the game that allows the user to load a 'board' or 'game' from a text file. The textfile formatting that has to be used is very simple. The first line of the text file contains an integer from 1 to 40 which is read and specifies how big the board is (so if it was 5 it would be a 5 x 5 board).
The preceding lines are made up of both spaces and 'X's which represent either no creature in a space or a creature in a space respectively. So as an example, the following text file would represent a 5 x 5 board with 3 creatures in the middle of it (pretending that the underscores represent spaces whereas in the textfile they actually are spaces):
5
_____
_____
_XXX_
_____
_____
<end of="" file="" here="">.
So for that example, i'm trying to manipulate the text file to store a space in the 2D array for all values except for myArray[3][2], myArray[3][3] and myArray[3][4] which i want to have an 'X' stored in.
I'm not having any problems connecting to the textfile, just trying to get my head around manipulating it once it's open. I figure a nested iterative loop for the myArray[i] and myArray[j] values but can't get my head around how to read a single character each time and then discard the new line character at the end of each line so it doesn't get read plus discarding the end of file character if that is even necessary.
Any help is much appreciated, i've been working on getting this part to work for quite some time with no success. Cheers, Bryce.
|
|
|
|
|
fgetc() reads a single character from the current position of a file
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
cheers, i'll give that a go and post back if there's any more issues
|
|
|
|
|
I have made this server application for sending commands to a radio set AR5000 on its serial port. While it works fine on a PC having Visual studios installed, it does not work as an application on a bare PC with just ythe four DLLs provided to it (as it asked for).
The odd part is that the client part of this works on the bare PC without Visual Studios loaded. The only thing extra in the server code is the usage of MS COM.
Any suggestions ?
Sid.
|
|
|
|
|
Use MS studio tool Dependency Checker for checking what all dll are needed to run you application.
|
|
|
|
|
hi all i want to get the cpu idle item when user is performing now activities on bases of which the screen saver runs etc means when user is performing no activities then the screen saver runs.
Thanks in Advance.
Tasleem Arif
|
|
|
|
|
|
|
Thank u both for answering
Tasleem Arif
|
|
|
|
|
youre welcome .
|
|
|
|
|
hi i want to crreate a udp application for that i created a dialog based project with windows socket support
in that BOOL CUDPclientDlg::OnInitDialog(){} method i have written
m_client.Create(SOCK_DGRAM);<br />
m_client.Connect("localhost",2000);
after that i create a button in that function i have written
m_client.Send("hi",strlen("hi"));
for receiveing my message in the server i am not receiveing this message.how to keep the server in listen state under the udp?
-- modified at 0:55 Friday 25th August, 2006
|
|
|
|
|
hi,
see the code .
//==========================================================================
Client Code ---->
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
#define DEFAULT_BUFLEN 512
#define DEFAULT_PORT "27015"
int main(int argc, char **argv)
{
WSADATA wsaData;
SOCKET ConnectSocket = INVALID_SOCKET;
struct addrinfo *result = NULL,
*ptr = NULL,
hints;
char *sendbuf = "this is a test";
char recvbuf[DEFAULT_BUFLEN];
int iResult;
int recvbuflen = DEFAULT_BUFLEN;
// Validate the parameters
if (argc != 2) {
printf("usage: %s server-name\n", argv[0]);
return 1;
}
// Initialize Winsock
iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != 0) {
printf("WSAStartup failed: %d\n", iResult);
return 1;
}
ZeroMemory( &hints, sizeof(hints) );
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
// Resolve the server address and port
iResult = getaddrinfo(argv[1], DEFAULT_PORT, &hints, &result);
if ( iResult != 0 ) {
printf("getaddrinfo failed: %d\n", iResult);
WSACleanup();
return 1;
}
// Attempt to connect to an address until one succeeds
for(ptr=result; ptr != NULL ;ptr=ptr->ai_next) {
// Create a SOCKET for connecting to server
ConnectSocket = socket(ptr->ai_family, ptr->ai_socktype,
ptr->ai_protocol);
if (ConnectSocket == INVALID_SOCKET) {
printf("Error at socket(): %ld\n", WSAGetLastError());
freeaddrinfo(result);
WSACleanup();
return;
}
// Connect to server.
iResult = connect( ConnectSocket, ptr->ai_addr, (int)ptr->ai_addrlen);
if (iResult == SOCKET_ERROR) {
closesocket(ConnectSocket);
ConnectSocket = INVALID_SOCKET;
continue;
}
break;
}
freeaddrinfo(result);
if (ConnectSocket == INVALID_SOCKET) {
printf("Unable to connect to server!\n");
WSACleanup();
return 1;
}
// Send an initial buffer
iResult = send( ConnectSocket, sendbuf, (int)strlen(sendbuf), 0 );
if (iResult == SOCKET_ERROR) {
printf("send failed: %d\n", WSAGetLastError());
closesocket(ConnectSocket);
WSACleanup();
return 1;
}
printf("Bytes Sent: %ld\n", iResult);
// shutdown the connection since no more data will be sent
iResult = shutdown(ConnectSocket, SD_SEND);
if (iResult == SOCKET_ERROR) {
printf("shutdown failed: %d\n", WSAGetLastError());
closesocket(ConnectSocket);
WSACleanup();
return 1;
}
// Receive until the peer closes the connection
do {
iResult = recv(ConnectSocket, recvbuf, recvbuflen, 0);
if ( iResult > 0 )
printf("Bytes received: %d\n", iResult);
else if ( iResult == 0 )
printf("Connection closed\n");
else
printf("recv failed: %d\n", WSAGetLastError());
} while( iResult > 0 );
// cleanup
closesocket(ConnectSocket);
WSACleanup();
return 0;
}
//===========================================================================
//===========================================================================
----> server code
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
#define DEFAULT_BUFLEN 512
#define DEFAULT_PORT "27015"
int __cdecl main(void)
{
WSADATA wsaData;
SOCKET ListenSocket = INVALID_SOCKET,
ClientSocket = INVALID_SOCKET;
struct addrinfo *result = NULL,
hints;
char recvbuf[DEFAULT_BUFLEN];
int iResult,
recvbuflen = DEFAULT_BUFLEN;
// Initialize Winsock
iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != 0) {
printf("WSAStartup failed: %d\n", iResult);
return 1;
}
ZeroMemory(&hints, sizeof(hints));
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
hints.ai_flags = AI_PASSIVE;
// Resolve the server address and port
iResult = getaddrinfo(NULL, DEFAULT_PORT, &hints, &result);
if ( iResult != 0 ) {
printf("getaddrinfo failed: %d\n", iResult);
WSACleanup();
return 1;
}
// Create a SOCKET for connecting to server
ListenSocket = socket(result->ai_family, result->ai_socktype, result->ai_protocol);
if (ListenSocket == INVALID_SOCKET) {
printf("socket failed: %ld\n", WSAGetLastError());
freeaddrinfo(result);
WSACleanup();
return 1;
}
// Setup the TCP listening socket
iResult = bind( ListenSocket, result->ai_addr, (int)result->ai_addrlen);
if (iResult == SOCKET_ERROR) {
printf("bind failed: %d\n", WSAGetLastError());
freeaddrinfo(result);
closesocket(ListenSocket);
WSACleanup();
return 1;
}
freeaddrinfo(result);
iResult = listen(ListenSocket, SOMAXCONN);
if (iResult == SOCKET_ERROR) {
printf("listen failed: %d\n", WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1;
}
// Accept a client socket
ClientSocket = accept(ListenSocket, NULL, NULL);
if (ClientSocket == INVALID_SOCKET) {
printf("accept failed: %d\n", WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1;
}
// No longer need server socket
closesocket(ListenSocket);
// Receive until the peer shuts down the connection
do {
iResult = recv(ClientSocket, recvbuf, recvbuflen, 0);
if (iResult > 0)
printf("Bytes received: %d\n", iResult);
else if (iResult == 0)
printf("Connection closing...\n");
else {
printf("recv failed: %d\n", WSAGetLastError());
closesocket(ClientSocket);
WSACleanup();
return 1;
}
} while (iResult > 0);
// Echo the buffer back to the sender
iResult = send( ClientSocket, recvbuf, iResult, 0 );
if (iResult == SOCKET_ERROR) {
printf("send failed: %d\n", WSAGetLastError());
closesocket(ClientSocket);
WSACleanup();
return 1;
}
printf("Bytes Sent: %ld\n", iResult);
// shutdown the connection since we're done
iResult = shutdown(ClientSocket, SD_SEND);
if (iResult == SOCKET_ERROR) {
printf("shutdown failed: %d\n", WSAGetLastError());
closesocket(ClientSocket);
WSACleanup();
return 1;
}
// cleanup
closesocket(ClientSocket);
WSACleanup();
return 0;
}
//=========================================================================
there is every thing in msdn just learn how to use the Socket.
Think Clever
Uday kiran
|
|
|
|
|
uday kiran janaswamy wrote: there is every thing in msdn just learn how to use the Socket.
Think Clever
useing Asynksocket i want to create a datagram server.which methods i have to use
|
|
|
|
|
hi,
dont use
m_client.Send("hi",strlen("hi")); //not UDP it for TCP.
m_client.Sendv(...) // may be you check MSDN for UDP.
Uday kiran
|
|
|
|
|
uday kiran janaswamy wrote: m_client.Sendv(...) // may be you check MSDN for UDP.
hi,
i know it ,but here m_client is the variable of type Cclient which i have derived from the AsynkSocket.
but in that onley send method is there i have nt found listen,recv,Senddv like methods.
|
|
|
|
|