473,698 Members | 2,196 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

[C++] Segmentation Fault {C++ Novice Programmer}

Hello guys.

I have a function, cleanSpace [which takes in a string such as
"this is\ta\ta a test". It cleans it up by removing new
lines/tabs and multiple/trailing and inbetween whitespace. I am
recieving a segmentation fault on one line when I apply it to a second
program [my second school assignment]. I was told from another source
that the problem is, is that the function is acting on constant string
literal. To fix this I was told to take the incoming string, copy it to
a buffer, work on the buffer and copy the buffer back to the original.
I tried but no sucess.

The seg fault is shown after the code snippet below.
int Account::cleanS pace(char c[])
{
int i=0,
j=0,
k=0,
m=0;

/* Ultimately this loop will scan for new lines and tabs and replace
them
with spaces. */
for(i=0; c[i]; i++)
{
if(c[i] == '\n' || c[i] == '\t')
c[i] = ' ';
}

/* For loop finds character starting point. */
for(i=0; c[i] == ' '; i++)
{
c[m] = c[i+1];
}

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

/* For loop removes trailing spaces. */
for(i = strlen(c) - 1; c[i] == ' '; i--)
{
c[i] = '\0';
}

/*For loop removes excess spaces. */
for(i = 0; c[i]; i++)
{
if(c[i] == ' ' && c[i+1] == ' ')
{
j = i;

while(c[j] == ' ')
{
j++;
}

for(k = i + 1; c[k]; k++, j++)
{
c[k] = c[j];
}
j=0;
}
}
return strlen(c);
}
Here is the function that calls it
int Account::change CustomerInfo(ch ar c[])
{
int result = 0;
char temp[251];
result = strlen(c) - 250;

cleanSpace(c); //Calls the cleanSpace function

if(strlen(c) <= 250){
strcpy(this->customer, c);
}
else{
for(int i = 0; i < 250; i++){
temp[i] = c[i];
}
strcpy(this->customer, temp);}

if(strlen(c) > 250){
return result;}

else return 0;
}
I recieve the seg fault on this code snippet below [which is found in
the cleanSpace function]

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

So by working with
int Account::cleanS pace(char c[]) function, how can I make it work not
on a string literal.

Thanks in advance. Appreciate any help whatsoever.

Jul 23 '05 #1
6 2583

"AMT2K5" <Aa*********@gm ail.com> wrote in message
news:11******** ************@g4 9g2000cwa.googl egroups.com...
Hello guys.

I have a function, cleanSpace [which takes in a string such as
"this is\ta\ta a test". It cleans it up by removing new
lines/tabs and multiple/trailing and inbetween whitespace. I am
recieving a segmentation fault on one line when I apply it to a second
program [my second school assignment]. I was told from another source
that the problem is, is that the function is acting on constant string
literal. To fix this I was told to take the incoming string, copy it to
a buffer, work on the buffer and copy the buffer back to the original.
I tried but no sucess.

The seg fault is shown after the code snippet below.
int Account::cleanS pace(char c[])
{
int i=0,
j=0,
k=0,
m=0;

/* Ultimately this loop will scan for new lines and tabs and replace
them
with spaces. */
for(i=0; c[i]; i++)
{
if(c[i] == '\n' || c[i] == '\t')
c[i] = ' ';
}

/* For loop finds character starting point. */
for(i=0; c[i] == ' '; i++)
{
c[m] = c[i+1];
}

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

/* For loop removes trailing spaces. */
for(i = strlen(c) - 1; c[i] == ' '; i--)
{
c[i] = '\0';
}

/*For loop removes excess spaces. */
for(i = 0; c[i]; i++)
{
if(c[i] == ' ' && c[i+1] == ' ')
{
j = i;

while(c[j] == ' ')
{
j++;
}

for(k = i + 1; c[k]; k++, j++)
{
c[k] = c[j];
}
j=0;
}
}
return strlen(c);
}
Here is the function that calls it
int Account::change CustomerInfo(ch ar c[])
{
int result = 0;
char temp[251];
result = strlen(c) - 250;

cleanSpace(c); //Calls the cleanSpace function

if(strlen(c) <= 250){
strcpy(this->customer, c);
}
else{
for(int i = 0; i < 250; i++){
temp[i] = c[i];
}
strcpy(this->customer, temp);}

if(strlen(c) > 250){
return result;}

else return 0;
}
I recieve the seg fault on this code snippet below [which is found in
the cleanSpace function]

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

So by working with
int Account::cleanS pace(char c[]) function, how can I make it work not
on a string literal.

Thanks in advance. Appreciate any help whatsoever.


I didn't throughly analyze all conditions, but on the strings "XXX\t\n" and
" X ", it worked fine for me. (I substituted the member customer for a
local char[500] array, and made the functions global, but that shouldn't
affect things unless you've got other problems in the class that end up
causing this crash sometime later.) You should try debugging the app and
seeing what the values of c,i and m are the time it crashes. Perhaps
there's some condition you're not accounting for properly.

-Howard

Jul 23 '05 #2

"AMT2K5" <Aa*********@gm ail.com> wrote in message
news:11******** ************@g4 9g2000cwa.googl egroups.com...
Hello guys.

I have a function, cleanSpace [which takes in a string such as
"this is\ta\ta a test". It cleans it up by removing new
lines/tabs and multiple/trailing and inbetween whitespace. I am
recieving a segmentation fault on one line when I apply it to a second
program [my second school assignment]. I was told from another source
that the problem is, is that the function is acting on constant string
literal. To fix this I was told to take the incoming string, copy it to
a buffer, work on the buffer and copy the buffer back to the original.
I tried but no sucess.

The seg fault is shown after the code snippet below.
int Account::cleanS pace(char c[])
{
int i=0,
j=0,
k=0,
m=0;

/* Ultimately this loop will scan for new lines and tabs and replace
them
with spaces. */
for(i=0; c[i]; i++)
{
if(c[i] == '\n' || c[i] == '\t')
c[i] = ' ';
}

/* For loop finds character starting point. */
for(i=0; c[i] == ' '; i++)
{
c[m] = c[i+1];
}

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

/* For loop removes trailing spaces. */
for(i = strlen(c) - 1; c[i] == ' '; i--)
{
c[i] = '\0';
}

/*For loop removes excess spaces. */
for(i = 0; c[i]; i++)
{
if(c[i] == ' ' && c[i+1] == ' ')
{
j = i;

while(c[j] == ' ')
{
j++;
}

for(k = i + 1; c[k]; k++, j++)
{
c[k] = c[j];
}
j=0;
}
}
return strlen(c);
}
Here is the function that calls it
int Account::change CustomerInfo(ch ar c[])
{
int result = 0;
char temp[251];
result = strlen(c) - 250;

cleanSpace(c); //Calls the cleanSpace function

if(strlen(c) <= 250){
strcpy(this->customer, c);
}
else{
for(int i = 0; i < 250; i++){
temp[i] = c[i];
}
strcpy(this->customer, temp);}

if(strlen(c) > 250){
return result;}

else return 0;
}
I recieve the seg fault on this code snippet below [which is found in
the cleanSpace function]

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

So by working with
int Account::cleanS pace(char c[]) function, how can I make it work not
on a string literal.

Thanks in advance. Appreciate any help whatsoever.


I'm taking C and C++ classes right now. The cpp file I attached contains a
program I wrote using C to take user input from the keyboard (whether it's
got letters, numbers, spaces, or other characters), strips all
non-alphabetic characters, removes all spaces, and puts it back into a
sentence. Of course the requirement for this particular program was to
translate English into Pig Latin, so it does some things you don't want.

I make no guarantees about the code (I'm still learning, too). You'll
notice it's in a cpp file and not a c file because I kept getting memory
errors from the executable when using Dev-C++; those errors went away when I
compiled it in an empty VisualC++ project. Maybe somebody else could point
out why.

Dave


Jul 23 '05 #3
>>I was told from another source
that the problem is, is that the function is acting on constant string
literal. To fix this I was told to take the incoming string, copy it to
a buffer, work on the buffer and copy the buffer back to the original.

I think you didn't fix problem right.

You are still working on const string.

Fix:

You are actually making copy of string into "temp". But you are not
passing temp to "changeCustomer Info()". You are still passing "c" to
"changeCustomer Info()". "c" is const string, that is why the crash.

Instead you should pass "temp"

-Nagarajan Makala

Howard wrote: "AMT2K5" <Aa*********@gm ail.com> wrote in message
news:11******** ************@g4 9g2000cwa.googl egroups.com...
Hello guys.

I have a function, cleanSpace [which takes in a string such as
"this is\ta\ta a test". It cleans it up by removing new
lines/tabs and multiple/trailing and inbetween whitespace. I am
recieving a segmentation fault on one line when I apply it to a second
program [my second school assignment]. I was told from another source
that the problem is, is that the function is acting on constant string
literal. To fix this I was told to take the incoming string, copy it to
a buffer, work on the buffer and copy the buffer back to the original.
I tried but no sucess.

The seg fault is shown after the code snippet below.
int Account::cleanS pace(char c[])
{
int i=0,
j=0,
k=0,
m=0;

/* Ultimately this loop will scan for new lines and tabs and replace
them
with spaces. */
for(i=0; c[i]; i++)
{
if(c[i] == '\n' || c[i] == '\t')
c[i] = ' ';
}

/* For loop finds character starting point. */
for(i=0; c[i] == ' '; i++)
{
c[m] = c[i+1];
}

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

/* For loop removes trailing spaces. */
for(i = strlen(c) - 1; c[i] == ' '; i--)
{
c[i] = '\0';
}

/*For loop removes excess spaces. */
for(i = 0; c[i]; i++)
{
if(c[i] == ' ' && c[i+1] == ' ')
{
j = i;

while(c[j] == ' ')
{
j++;
}

for(k = i + 1; c[k]; k++, j++)
{
c[k] = c[j];
}
j=0;
}
}
return strlen(c);
}
Here is the function that calls it
int Account::change CustomerInfo(ch ar c[])
{
int result = 0;
char temp[251];
result = strlen(c) - 250;

cleanSpace(c); //Calls the cleanSpace function

if(strlen(c) <= 250){
strcpy(this->customer, c);
}
else{
for(int i = 0; i < 250; i++){
temp[i] = c[i];
}
strcpy(this->customer, temp);}

if(strlen(c) > 250){
return result;}

else return 0;
}
I recieve the seg fault on this code snippet below [which is found in
the cleanSpace function]

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

So by working with
int Account::cleanS pace(char c[]) function, how can I make it work not
on a string literal.

Thanks in advance. Appreciate any help whatsoever.


I didn't throughly analyze all conditions, but on the strings "XXX\t\n" and
" X ", it worked fine for me. (I substituted the member customer for a
local char[500] array, and made the functions global, but that shouldn't
affect things unless you've got other problems in the class that end up
causing this crash sometime later.) You should try debugging the app and
seeing what the values of c,i and m are the time it crashes. Perhaps
there's some condition you're not accounting for properly.

-Howard


Jul 23 '05 #4
That makes sense, thanks. Although I am unsure where I would declare
and state what temp is.

Original call
void Account::init(c har c[], char num[], int b)
{
changeCustomerI nfo(c);
changeAccountNu mber(num);
changeBalance(b );
}

I cant do the following though, because temp would just be empty.

void Account::init(c har c[], char num[], int b)
{
char temp[300];

changeCustomerI nfo(temp);
changeAccountNu mber(num);
changeBalance(b );
}
What am I overlooking here?

Nagarajan Makala wrote:
I was told from another source
that the problem is, is that the function is acting on constant string
literal. To fix this I was told to take the incoming string, copy it to
a buffer, work on the buffer and copy the buffer back to the original.


I think you didn't fix problem right.

You are still working on const string.

Fix:

You are actually making copy of string into "temp". But you are not
passing temp to "changeCustomer Info()". You are still passing "c" to
"changeCustomer Info()". "c" is const string, that is why the crash.

Instead you should pass "temp"

-Nagarajan Makala

Howard wrote:
"AMT2K5" <Aa*********@gm ail.com> wrote in message
news:11******** ************@g4 9g2000cwa.googl egroups.com...
Hello guys.

I have a function, cleanSpace [which takes in a string such as
"this is\ta\ta a test". It cleans it up by removing new
lines/tabs and multiple/trailing and inbetween whitespace. I am
recieving a segmentation fault on one line when I apply it to a second
program [my second school assignment]. I was told from another source
that the problem is, is that the function is acting on constant string
literal. To fix this I was told to take the incoming string, copy it to
a buffer, work on the buffer and copy the buffer back to the original.
I tried but no sucess.

The seg fault is shown after the code snippet below.
int Account::cleanS pace(char c[])
{
int i=0,
j=0,
k=0,
m=0;

/* Ultimately this loop will scan for new lines and tabs and replace
them
with spaces. */
for(i=0; c[i]; i++)
{
if(c[i] == '\n' || c[i] == '\t')
c[i] = ' ';
}

/* For loop finds character starting point. */
for(i=0; c[i] == ' '; i++)
{
c[m] = c[i+1];
}

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

/* For loop removes trailing spaces. */
for(i = strlen(c) - 1; c[i] == ' '; i--)
{
c[i] = '\0';
}

/*For loop removes excess spaces. */
for(i = 0; c[i]; i++)
{
if(c[i] == ' ' && c[i+1] == ' ')
{
j = i;

while(c[j] == ' ')
{
j++;
}

for(k = i + 1; c[k]; k++, j++)
{
c[k] = c[j];
}
j=0;
}
}
return strlen(c);
}
Here is the function that calls it
int Account::change CustomerInfo(ch ar c[])
{
int result = 0;
char temp[251];
result = strlen(c) - 250;

cleanSpace(c); //Calls the cleanSpace function

if(strlen(c) <= 250){
strcpy(this->customer, c);
}
else{
for(int i = 0; i < 250; i++){
temp[i] = c[i];
}
strcpy(this->customer, temp);}

if(strlen(c) > 250){
return result;}

else return 0;
}
I recieve the seg fault on this code snippet below [which is found in
the cleanSpace function]

/* For loop moves all characters next to the first found character.
*/
for(i++; c[i]; i++)
{
c[++m] = c[i];
}

So by working with
int Account::cleanS pace(char c[]) function, how can I make it work not
on a string literal.

Thanks in advance. Appreciate any help whatsoever.


I didn't throughly analyze all conditions, but on the strings "XXX\t\n" and
" X ", it worked fine for me. (I substituted the member customer for a
local char[500] array, and made the functions global, but that shouldn't
affect things unless you've got other problems in the class that end up
causing this crash sometime later.) You should try debugging the app and
seeing what the values of c,i and m are the time it crashes. Perhaps
there's some condition you're not accounting for properly.

-Howard


Jul 23 '05 #5
ah forgot strcpy(temp, c);

Jul 23 '05 #6
AMT2K5 wrote:
Hello guys.

I have a function, cleanSpace [which takes in a string such as
"this is\ta\ta a test". It cleans it up by removing new
lines/tabs and multiple/trailing and inbetween whitespace. I am
recieving a segmentation fault on one line when I apply it to a second
program [my second school assignment]. I was told from another source
that the problem is, is that the function is acting on constant string
literal. To fix this I was told to take the incoming string, copy it to
a buffer, work on the buffer and copy the buffer back to the original.
I tried but no sucess.

[snip]
Thanks in advance. Appreciate any help whatsoever.


Here's some alternatives. Compile and run this program
to see how it works.

// cleanSpace.cpp
// trims leading and trailing whitespace from a string and
// replaces multiple sequential whitespace chars within
// the string with a single space.

// for cin and cout:
#include <iostream>

// for std::string:
#include <string>

// for std::istringstr eam and std::ostringstr eam
#include <sstream>

// for strcpy() and strdup()
#include <cstring>

// a version using a ref to a std::string as input.
// the input string ('str') is modified.
int cleanSpace(std: :string& str)
{
if (0 == str.length())
return 0;

// no words read from the input yet
int wordCount = 0;

// make a string input stream from 'str'
std::istringstr eam wordsIn(str);

// make a string output stream to hold the result
std::ostringstr eam wordsOut;

// we'll read each word from the input string into 'word'
std::string word;

// while there is data in the input string stream
while (wordsIn)
{
// skip any leading whitespace and read the next word
// into 'word'
wordsIn >> word;

// if we actually read a word (i.e. we havn't reached
// the end of the input data
if (wordsIn)
{
// if we have already put at least one word
// to the output string, append a blank before
// we write the next word to the output string
if (wordCount)
wordsOut << ' ';

// append the word just read from the input string
// to the output string
wordsOut << word;

// erase the content of 'word' so it's ready to
// receive the next word read from the input string
word.erase();

// increment the count of words read from the input
// string
wordCount++;
}
}

// replace the original contents of 'str' with
// the content of the output string stream
str = wordsOut.str();

// return the final number of chars in 'str'
return str.length();
}
// a version using a char array as input.
// the input array ('c') is modified.
int cleanSpace(char * c)
{
if (NULL == c)
return 0;

int wordCount = 0;

// make an input string stream from the contents of 'c'.
std::istringstr eam wordsIn(c);

std::ostringstr eam wordsOut;
std::string word;

while (wordsIn)
{
wordsIn >> word;

if (wordsIn)
{
if (wordCount)
wordsOut << ' ';

wordsOut << word;
word.erase();
wordCount++;
}
}

// copy the contents of the output string stream
// to 'c' - replacing the original contents of 'c'
strcpy(c, wordsOut.str(). c_str());

return strlen(c);
}

#if 0
// an alternate approach for using a char array.
// makes a string from the array, calls cleanSpace(stri ng),
// then copies the result to the original input array ('c')
int cleanSpace(char * c)
{
if (NULL == c)
return 0;

int len;
std::string str(c);

len = cleanSpace(str) ;
strcpy(c, str.c_str());

return len;
}
#endif

int main()
{
int len;
char * c;
std::string s;

std::cout << "enter a string: ";
std::getline(st d::cin, s);

// make a copy of the input string as a char array
c = strdup(s.c_str( ));

// call the version of cleanSpace() that takes a string
len = cleanSpace(s);
std::cout << "string len " << len << ": '" << s
<< "'" << std::endl;

// call the version of cleanSpace that takes a char array
len = cleanSpace(c);
std::cout << "c[] len " << len << ": '" << c
<< "'" << std::endl;

return 0;
}

Regards,
Larry
Jul 23 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

15
1896
by: AMT2K5 | last post by:
Hello folks, I seem to have recieved a segfault within my function but am unsure on how to resolve it. I understand that it means that somewhere something is trying to access memory that is not prohibited or not available. The following function is an overloaded += operator that reads in strings in a record format seperated by comma delimiters except for the last data which terminates with a semicolon. I am adding these records to an...
1
532
by: Michael Sgier | last post by:
Hello i get the error: Segmentation fault. The debugger stopped at the last of the following lines: // This stores the texture array for each of the textures assigned to this model unsigned int m_Textures;
15
7218
by: Matthew Jakeman | last post by:
can anyone tell me why the following piece of code causes a segmentation fault please ?? char *getFNFromIden(char *ident) { int i = 0 ; printf("identifier %s\n", allMenus.identifier) ; while(allMenus.identifier != '\0') { printf("Hello World") ;
7
3353
by: Alexandre | last post by:
Hello, Maybe it's a little OT, but the fact is that I don't necessarly want to know "how to correct?", but "why it happens?" I have a program who "segment fault" (ok, that's "normal"... ;-) but this time, it's not my code who "segment fault" but it's in the call of malloc/mallopt I've got:
3
11432
by: Zheng Da | last post by:
Program received signal SIGSEGV, Segmentation fault. 0x40093343 in _int_malloc () from /lib/tls/libc.so.6 (gdb) bt #0 0x40093343 in _int_malloc () from /lib/tls/libc.so.6 #1 0x40094c54 in malloc () from /lib/tls/libc.so.6 It's really strange; I just call malloc() like "tmp=malloc(size);" the system gives me Segmentation fault I want to write a code to do like a dynamic array, and the code is as
5
2993
by: Fra-it | last post by:
Hi everybody, I'm trying to make the following code running properly, but I can't get rid of the "SEGMENTATION FAULT" error message when executing. Reading some messages posted earlier, I understood that a segmentation fault can occur whenever I declare a pointer and I leave it un-initialized. So I thought the problem here is with the (const char *)s in the stuct flightData (please note that I get the same fault declaring as char * the...
27
3352
by: Paminu | last post by:
I have a wierd problem. In my main function I print "test" as the first thing. But if I run the call to node_alloc AFTER the printf call I get a segmentation fault and test is not printed! #include <stdlib.h> #include <stdio.h> typedef struct _node_t {
7
1871
by: Kies | last post by:
Hi everyone, these days I find a problem.Look this source code: 1 #include <stdio.h> 2 3 int 4 main(void) 5 { 6 char a = "hello"; 7 a = 'X'; 8 printf("%s\n", a); 9 char *p = "world";
3
5178
by: madunix | last post by:
My Server is suffering bad lag (High Utlization) I am running on that server Oracle10g with apache_1.3.35/ php-4.4.2 Web visitors retrieve data from the web by php calls through oci cobnnection from 10g release2 PHP is configured with the following parameters './configure' '--prefix=/opt/oracle/php' '--with-apxs=/opt/oracle/apache/bin/apxs' '--with-config-file-path=/opt/oracle/apache/conf' '--enable-safe-mode' '--enable-session'...
0
8674
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8603
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9157
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9027
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8895
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8861
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
6518
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4619
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3046
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.